0

WindowsでTortoiseSVNを使用してSubversionブランチをチェックアウトしています。myfile.txtという名前のファイルがあり、名前をmynewfile.txtに変更します。ただし、myfile.txtをそのままにして、以前のリビジョン(r15など)に戻すだけです。したがって、myfile.txtにはr15のコンテンツを、mynewfile.txtにはrHEADのmyfile.txtのコンテンツを含める必要があります。ファイルの履歴が保持されるように、Subversionコマンドでこれをなんとかして実行できることを望んでいました。そうすれば、これをコミットして変更を見ると、mynewfile.txtはmyfile.txtの名前に変更されただけであり、myfile.txtにはr15の古いコンテンツが含まれていることがわかります。これは可能ですか?myfile.txt-> mynewfile.txtの名前を変更してから、myfile.txtを作り直して、コンテンツをr15から手動でコピーする必要がありますか?

4

2 に答える 2

4
svn cp myfile.txt mynewfile.txt
svn co -r15 myfile.txt
svn commit

そうすれば、あなたが望むように歴史を保存できると思います。

EDIT:TortoiseSVN、気づきませんでした!新しいステップ:

  1. Repo Browser を開き、myfile.txt を右クリックします。
  2. 「コピー先...」を選択mynewfile.txtし、新しい名前として選択します。
  3. チェックアウトしたコピーのmyfile.txt を右クリックし、 [リビジョンに更新] を選択して [15] を選択します。
  4. 専念。
于 2010-07-22T21:46:16.237 に答える
1

古いリビジョンの 2 番目の作業コピーが必要です (ディレクトリをコピーして、単一のファイルのみを更新するだけで十分です)。次に、次の手順を実行する必要があります。

  • HEAD 作業コピーrenameで、svn コンテキスト メニューから選択して、ファイルの名前を変更します。
  • OLD 作業コピーに移動し、マウスの右ボタンで古いファイルを HEAD 作業コピーにドラッグします。
  • svn copy versioned items here出てきたメニューから選んだ
  • コミット (テキスト ステータスが古いファイルの場合は "replaced(+)"、新しいファイルの場合は "added(+)" であることを確認してください)
于 2010-07-27T07:49:06.750 に答える