locked
TFS2010 最新(特定)バージョン取得時のローカルファイルの更新日時を「変更時刻」に設定したい RRS feed

  • 質問

  • いつもお世話になっております。

    VSS6を長年愛用しておりましたが、そろそろTFS2010に移行しようと思い、いろいろと調べております。
    実際にTFS2010をインストールし、ソース管理の一通りの機能を使用してVSS6からの進化ぶりに驚いております。
    ただ、一つこれは「退化」では?と思ってしまう部分があります。

    それは「最新バージョンの取得」または「特定バージョンの取得」時のローカルファイルの更新日時についてです。
    VSS6では[ツール]→[オプション]→[ローカルファイル]で「ローカル ファイルの日付と時刻」の設定を
    「現在時刻」/「変更時刻」/「チェックイン時刻」の何れかにすることで、それぞれの時刻がローカルファイルの更新日時になるような
    仕様となっておりました。

    TFS2010にはVSS6にあった「ローカル ファイルの日付と時刻」の設定箇所が見当たらず、「現在時刻」の設定と同等の挙動でしか
    「最新バージョンの取得」または「特定バージョンの取得」を行えないようです。

    最新(特定)バージョン取得時のローカルファイルの更新日時を「変更時刻」に設定したいユーザーはどうすればよいのでしょうか?
    私の探し方が悪く、実は設定する場所があると信じております。

    ご存知の方、どうかご回答をよろしくお願いいたします。

    2011年7月19日 7:37

回答

すべての返信

  • TFS はファイルを取り出した日時がファイルのタイムスタンプになるのが固定なようで、これを設定する場所はありません。
    個人的には、これは「退化」ではなくて、TFS のポリシーなのではないかと思います。
    ファイルのタイムスタンプがチェックイン日時になると、ビルドをする際に何かと問題になりがちですし、VSS のチェックイン日時はリポジトリ サーバーではなく各クライアント PC の日時という、少々でたらめな値ですし。

    どうしてもチェックイン日時で取り出したい場合の回避策などについては、次のスレッドやブログ記事をご覧ください。

    File Date in TFS-VC Update for 2010?
    http://social.msdn.microsoft.com/Forums/en/tfsversioncontrol/thread/4deb7169-2da7-405a-97e1-9e4da753320c

    Fixing the timestamps on files from Team Foundation Server | Cory Foy
    http://blog.coryfoy.com/2007/12/fixing-the-timestamps-on-files-from-team-foundation-server/

    あるいは次のブログ記事のコメントあたりとか。

    Get: Date and time, read/write vs. read only - Buck Hodges - Site Home - MSDN Blogs
    http://blogs.msdn.com/b/buckh/archive/2007/07/13/get-date-and-time-read-write-vs-read-only.aspx
    • 回答としてマーク mi2mura 2011年7月20日 1:20
    2011年7月19日 15:39
  • totojoさん、ご回答ありがとうございます。

    > TFS はファイルを取り出した日時がファイルのタイムスタンプになるのが固定なようで、これを設定する場所はありません。

    そうですか。探し方が悪いわけではなかったようですね。

    > 個人的には、これは「退化」ではなくて、TFS のポリシーなのではないかと思います。

    確かにVSS6でも「ローカル ファイルの日付と時刻」の設定の初期値は「現在時刻」ですね。
    以前からこの点にも納得しておりませんでしたが、TFSから固定化されてしまっていると言うのは驚きです。
    ファイルのタイムスタンプもファイルの一部と認識している私にとっては不便この上ありません。
    VSS6と同様の選択肢を残しておいてほしかった。と率直に思います。

    > どうしてもチェックイン日時で取り出したい場合の回避策などについては、次のスレッドやブログ記事をご覧ください。

    回避策があるのですね!ご紹介いただきありがとうございます。
    ただ、全て英語・・・。気合を入れて熟読してみます。

    日本で同じ悩みを持つ方が居られないと言うのはやはり私がマイノリティであると言う証ですね。

    どうも、ありがとうございました。

    2011年7月20日 1:21
  • ツールを公開している人がいました。

    Download files from TFS version control and set the file last access timestamp to the file's last check-in time - TFS & Visual Studio ALM - by Neno Loje
    http://msmvps.com/blogs/vstsblog/archive/2011/03/14/download-files-from-tfs-version-control-and-set-the-file-last-access-timestamp-to-the-file-s-last-check-in-time.aspx

    /settimestamps オプションを付けると、チェックイン日時でファイルが作成されました。

    2011年7月20日 3:38
  • ご紹介いただいたツールをダウンロードし、/settimestamps オプションを付けて実行してみたところ
    チェックイン日時でファイルが取得できました!

    私の理想である「変更時刻」ではありませんが、それに近い「チェックイン時刻」で取得できることは大きな救いです。
    これで「内容は全く同じなのになんでタイムスタンプが違うの?」と言う単純なツッコミを受けずにすみそうです。

    出来ればツールなどに頼りたくありませんので、将来TFSのポリシーが少し緩和され「ローカル ファイルの日付と時刻」の設定が復活することを切に望みつつ
    totojoさんには本当に感謝いたします。
    ありがとうございました。

    2011年7月20日 9:30
  • 出来ればツールなどに頼りたくありませんので、将来TFSのポリシーが少し緩和され「ローカル ファイルの日付と時刻」の設定が復活することを切に望みつつ

    望むのであれば、開発チームに声が届くフィードバックセンターに登録しましょう。

    http://social.msdn.microsoft.com/Forums/ja-JP/vstsja/thread/c399e3d4-4b05-4b14-b1f3-adfe085718e9

    提案になりますので、それがあることでどのように便利なのかを主張しましょう。
    (開発チームに共感をもってもらえないと、「修正しない」とか、「設計による」とかでクローズされて、対応されずじまいになることがあります)


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2011年7月20日 13:14
  • Azuleanさんアドバイスありがとうごいざいます。

    そうですよね。ここでグチを言っていても何も変わりませんよね!

    以下のタイトルにてフィードバックセンターに登録いたしまいた。

    TFS2010で最新(特定)バージョン取得時のローカルファイルのタイムスタンプを「変更時刻」にしたい

    開発チームに私の声が届きますように。

    2011年7月21日 4:04
  • visualstudio 2010の拡張機能に、それを実現させようとしているものがありました。

    TFS Source Control Explorer Extension

    ただ、残念ながら、チェックイン時刻での取得で変更時刻はありませんでした。

    こちらで試したところは、ソース管理エクスプローラー上からの取得で、チェックイン時刻での取得になったのを確認しました。

    2015年9月25日 0:16