Repo Browserを使用して2つの独立した追加/削除操作を作成せずに、同じリポジトリ内のある場所から別の場所にファイルまたはフォルダーを移動したいと思います。 Repo Browserの使用は正常に機能しますが、その後、サポートされている変更がチェックインされるまで(たとえば.csprojファイルなど)、コードは壊れた状態でハングします。
更新:人々はコマンドラインから「移動」を提案しています。 TortoiseSVNに相当するものはありますか?
Tortoise SVN
を使用してファイルまたはファイルのセットを移動するには、ターゲットファイルを右クリックしてドラッグし、目的の場所にドラッグして、マウスの右ボタンを放します。ポップアップメニューにはSVN move versioned files here
オプションがあります。
SVN move versioned files here
オプションを表示するには、宛先フォルダーが既にリポジトリーに追加されている必要があります。
svn move
—ファイルまたはディレクトリを移動します。
Windowsエクスプローラーで、マウスの右ボタンを使用して、ファイルをクリックし、目的の場所にドラッグします。右マウスボタンを離すと、「SVN Move versioned file here」などのオプションを含むコンテキストメニューが表示されます。
TortoiseSVNの下で、次のページを参照してください。 http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-copy.html
ファイルを移動したい場合andcsprojファイルを最新の状態に保ちたい場合、最も簡単な方法は AnkhSVNのようなVisual Studioプラグインを使用することです 。これにより、移動アクション(削除と履歴の追加の両方として、Subversionの仕組みです)と.csprojの変更の両方が自動的にコミットされます。
コマンドラインから、svn mv path1 path2
と入力できます。これにより、追加操作と削除操作が作成されますが、Subversionには-私が知る限り-それを回避する方法はありません。
Subversionには、一流の名前変更操作がまだありません。
問題には6年前のバグがあります: http://Subversion.tigris.org/issues/show_bug.cgi?id=898
1.6で検討されており、マージトラッキング(より高い優先度)が追加されました(1.5)。
TortoiseのRENAMEコマンドを使用し、相対パス(「folder/file.ext」)を入力します。
svn move
コマンドを使用して、ファイル/フォルダーを移動します。
前述のように、追加コマンドと削除コマンドを作成します。作業コピーまたはリポジトリURLの両方でsvn moveを使用できます。作業コピーを使用する場合、変更はコミットされません-別の操作でコミットする必要があります。
URLをsvnで移動する場合は、-messageを指定する必要があり、変更はすぐにリポジトリに反映されます。
マウスの右ボタンを使用してファイルをドラッグする必要があります。ファイルを新しい宛先にリリースした瞬間に、オプションが表示されます。
SVNはバージョン管理されたファイルをここに移動します。
このオプションを選択するだけで完了です!!