2009-06-23 6 views
1

他のプロジェクトの下にあるTFSプロジェクトがあるので、ソース管理の履歴を移動したいこのプロジェクトのTFSについては、プロジェクトサイトは気にしません)。コードを新しい場所に分岐し、元のプロジェクトを削除する準備をしています。TFSでブランチを作成してトランクを削除すると、ソース管理の履歴がコピーされる

This SO questionは、ブランチ後の履歴のTFS機能が明らかに欠けていますが、トランクフォルダを削除しているため、この回避策の機能が壊れてしまい、ソース履歴のプレブランチが完全に失われます。

他の誰かが私に履歴を保存するのに良いソリューションを持っていますか?私は、以前のビルドを行う能力を維持したいと思っています。ソース管理からトランク・フォルダを削除すると、それは無理です。ご協力いただきありがとうございます!

答えて

1

私の推薦は、移動(別名リネーム)機能を使用することです。すべての履歴は、その場で保存されます。また、適切なバージョンに同期させることで、他のプロジェクトの古いビルドを再作成することもできます。

ブランチにする場合は、元のソースを削除するかどうかは関係ありません。 TFSの何も本当に削除されず、単に「削除された状態」に置かれます。マージ履歴を含む履歴は同じように機能します。 (ただし、Destroyコマンドも使用しない限り、ファイルの内容を削除するオプションがあります(&の履歴メタデータは保持されます)。

+0

チームのプロジェクトを削除すると、そのプロジェクトのソース履歴が実際に破棄されるように見えます(「バージョン管理」の「TFSDeleteProjectのしくみ」のhttp:// msdnを参照)。 microsoft.com/en-us/library/dd206696.aspx)。これが当てはまるので、ブランチより前のビルドを決して再作成することはできません。 私はMoveオプションをチェックします - 私はそれを考慮していませんでしたが、私はそれがプロジェクト全体でうまくいくかどうかはわかりません。 – SqlRyan

+0

私は「移動」を試みただけで、プロジェクト全体であっても期待通りのことを行い、ソースの履歴は保持されます。他の解決方法があるかどうかを確認するために質問オプションを残しておきますが、もしそうでなければ、私はあなたを受け入れます。助けてくれてありがとう! – SqlRyan

+0

うれしいことを聞いてうれしい動きが働いた。 TfsDeleteProjectについての良い点です。それが破棄を実行することは、比較的最近の変更です。同じ名前の別のプロジェクトを作成する必要がない場合、特に古いアーティファクトをいつか再訪する必要があると思われる場合は、おそらくそのコマンドを実行する必要はありません。すべての人のGENERIC_READ権限をプロジェクト(または管理者以外のすべての人)に削除するだけで、誰もそれを見たり操作したりすることはできません。 –

0

ディレクトリを削除する以外にも、これを隠すだけの方法もあります。ディレクトリをクローキングしても、実際にはソースコードコントロールから何も削除されません。あなたのクライアントでチェックアウトされないようにするだけです。最終的な効果はクライアントには表示されず、歴史的な目的のために回避することができます。

+0

これは私が検討したオプションですが、これは非アクティブなコピーなので、誰かが将来ソースコードを編集します。私は誰もがそれを隠すことができますが、私は回避策の代わりに直接的な解決策を好むでしょう。 – SqlRyan