27

プロジェクト構造をクリーンアップするために、TFS Power Tools Shell-Extension(名前の変更/移動)を使用して、フォルダーを別の(新しい)フォルダーに移動しました。

新しい場所で履歴を確認した後、移動が唯一のエントリです。(移動したフォルダー内の単一のファイルでも、1つのフォルダーを上下に試しました。同じ結果です。)

また、移動する前に、フォルダーのバージョンにいくつかのラベルを付けていました。これは、戻りたいコードの重要な状態がいくつかあったためです。

では、何がうまくいかなかったのでしょうか。履歴を取得するか、少なくともラベル名をもう一度調べてそれらのバージョンを確認するにはどうすればよいでしょうか。

4

4 に答える 4

21

とても簡単です。

Visual Studio 2010で、[ツール]->[オプション]に移動します。そこに「削除された」アイテムを表示するオプションがあります(ダイアログボックスのほぼ中央にあります)。古いフォルダは移動中に削除されました-そのオプションをアクティブにすると、再び表示されます。(赤い十字で灰色になります。)

ラベルが消えたようですが、バージョン別に行かなければなりませんでした。

ここに画像の説明を入力してください

ソースエクスプローラーでは、履歴の表示や取得などの通常の操作を再度実行できます。

于 2013-01-11T14:09:18.197 に答える
17

免責事項:ここに来るすべての人の参考のために、この答えは@Andreasの問題を修正するのではなく、なぜこれが起こるのかについてのコンテキストを提供し、いくつかの回避策を提供します。

TFS 2010でフォルダーを移動するときに履歴が失われることはバグではないようですが、これは「機能」です。(TFS2012でもまだ発生しています。このMSDNリンクから、 Microsoftの公式回答を読むことができます。

ここにフィードバックをありがとう。これは仕様によるものであるという以前のコメントは正しく、コマンドラインにオプションがあります。UIでは、フォルダの履歴は再帰的です-常に。これは、ほとんどの場合、ユーザーがフォルダーの内容の履歴を気にするためです。一方、ファイルには再帰的な履歴の概念がありません。ファイル自体の履歴は常に表示されます。これで、コマンドラインから再帰履歴(/ r)を表示するオプションがあり、再帰オプションなしでフォルダーに対してtf履歴を実行すると、フォルダー自体への変更が表示されます。これには、フォルダ自体の名前変更などの変更が含まれます。

  • 一度失われた履歴を取得するための回避策:そこに表示されているように、tfhistoryを使用した回避あります。
  • 履歴の損失を回避するための回避策:移動機能を使用する代わりにフォルダーの履歴の損失を回避したい場合は、TFS統合ツールを使用して、コードを1つのフォルダーから別の保存履歴に移行し、$ / TFSCode/FolderAから$/ TFSCode/に移行できます。 FolderB。それは少しやり過ぎですが、履歴があなたにとって非常に重要である場合は、削除されたフォルダでそれを探すよりもはるかに優れています
于 2013-06-25T12:07:37.803 に答える
14

確かにフォルダの履歴は失われますが、個々のファイルの履歴は実際には失われません。これは、ファイル履歴行の左端にある小さな「expandme」矢印の下に隠されています。ファイルの最も古い履歴エントリ、またはファイルが表示されている場所で展開すると、その個々のファイルの履歴が、存在しなくなった古い場所からも表示されます。

于 2013-07-11T00:47:27.050 に答える
4

履歴ウィンドウの上部で、ソースの場所を編集し、古い名前を入力して、移動する前に完全な履歴を取得できます。

履歴ウィンドウ、編集可能なソースの場所フィールド

また、ブランチを古い場所/名前に戻す/名前を変更することで、完全な履歴を取り戻すことができることにも言及しておくとよいでしょう。

于 2017-07-26T16:02:45.103 に答える