Subversionリポジトリのファイル名を変更する

Unit1のままでは、さまにならないので、名前を変更しました。Delphi2006では、プロジェクトマネージャから簡単にプロジェクト名やユニット名が変更できます。

ファイル名が変更されました。CVSでは、こうした事態が起きるとファイルを削除して、追加しなおすか、直接リポジトリ内を操作する(ふつうはしないし、リポジトリが壊れることもある)かして対応しますが、subversionではファイル名の変更が簡単に出来ます。

cd "d\checkouttst"
でチェックアウトしたディレクトリにカレントディレクトリを移し。
svn move (変更元ファイル名) (変更先ファイル名)
でファイル名を変更します。

この場合は svn move Unit1.pas MainUnit.pas を実行します。すると、Unit1.pas は無いと言われてしまいますので、いったん ローカル側の MainUnit.pas を Unit1.pas にリネームします。
その後、再度 svn move Unit1.pas MainUnit.pas を実行します。すると、ローカルで修正を加えられているため、強制されない限り移動は行われません。といわれてしまいます。--force オプションを用いると移動できるので。
svn move Unit1.pas MainUnit.pas --force
を入力することで、ファイルを移動することができます。

同様に名前を変えたファイルを move します。moveは delete と add の組み合わせなので、delete して add しても良いです。最後にコミットするのを忘れずに。


ちなみに、URLを指定してリネームもできますが、これは、サーバーサイドの名前変更になってしまいます。履歴を保持したい場合は、ローカル側のファイルでリネームしたほうが良さそうです。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2014-10-05
作成日: 2007-02-01
iPentec all rights reserverd.