web-dev-qa-db-ja.com

履歴を持つディレクトリの移動

私はこのようなSVN構造を持っています:

/Projects
    /Project1
    /Project2
/someFolder
    /Project3
    /Project4

すべてのプロジェクトを/ Projectsフォルダーに移動します。つまり、プロジェクト3と4を/ someFolderから/ projectsフォルダーに移動します。

警告:完全な履歴を保持したいと思います。すべてのクライアントが新しい場所からアイテムを再度チェックアウトする必要があると思いますが、これは問題ありませんが、履歴を完全に破壊せずにディレクトリを移動する最も簡単なアプローチは何だと思いますか?

それが重要な場合、Subversion 1.5。

61
Michael Stum
svn help rename

Subversionでの移動/名前変更は、履歴をそのまま保持します。

55
Apocalisp
svn move SRC DST
$ svn move -m "ファイルを移動する" http://svn.red-bean.com/repos/foo.c http://svn.red-bean.com/repos/bar.c

svn moveは履歴を保持します。

40
Geekygecko

Tortoise SVNは「右クリック」移動をサポートしています。 「マウスの右クリック」を使用してソースファイル/ディレクトリを宛先にドラッグすると、コンテキストメニューが表示されます。 copy/move/move-renameなどの適切なメニューオプションを選択できます。このオプションは履歴も保持します。

注:Tortoise SVNには「Repair Move」という素晴らしい機能があります。この機能を使用すると、ファイル/ディレクトリを移動するときに名前を変更できます。 (詳細については Documentation を参照)

11
Abhilash

Svn moveコマンドを使用してプロジェクト3をプロジェクトフォルダーに移動すると、プロジェクト3フォルダーの履歴が保持されますが、興味深いことに、プロジェクトフォルダーには、プロジェクト3をプロジェクトに移動する前に作成されたプロジェクト3の履歴が表示されません。

私はこれを混乱させると思います、私はフォルダが階層の下にそれ自体の下にすべての履歴を表示すると思ったが、これはそうではないようです(これを自分でテストしただけです)

5
Simon Byholm

Svn copyコマンドを使用できます。それはあなたの歴史を保持します。ログ(Tortoiseの例)を表示しながら、オプション[コピー/名前の変更で停止]を選択解除するだけです。

Subversion-Bookを詳しく見てください svn copy

4
binco

Repo-browserを使用してドラッグアンドドロップし、ローカルフォルダーをSVNサーバーに再バインドします。

3
Frederic

Subversionでディレクトリを移動しても、履歴が破壊されることはありません。

2
Eli Bendersky

そのためには、svn固有の移動/名前変更機能を使用する必要があります(たとえば、これを使用する場合はTortoiseSVNヘルプを確認してください)。自分でファイルを移動してから変更をコミットすると、履歴が保持されるかどうかわかりません。

2
ljubomir