1. ホーム
  2. svn

[解決済み] Subversionでファイルの削除を取り消す簡単な方法は何ですか?

2022-02-16 08:49:21

質問

この説明書は少し威圧的でわかりにくいのですが。 http://svnbook.red-bean.com/en/1.0/ch04s04.html#svn-ch-4-sect-4.3 . また、「"」を実行した後、まだチェックインしていない場合は、もっと簡単であることには言及されていないようです。 svn rm " [1]。

そこで、ここはググる人のために、もっと簡単な答えを記録しておこうと思ったのです。

[1] svnの初心者には、" svn rm ファイルをすぐに破棄してしまいます。 そういえば svn rm と思っていたら、実際にファイルそのものが消えてしまったのでビックリしました。 そこで副次的な質問ですが、実際にローカルコピーを削除せずにバージョンコントロールからファイルを削除する正しい方法は何でしょうか?

どのように解決するのか?

もし、あなたが

svn rm foo.txt

を実行すれば、元に戻せます。

svn revert foo.txt

を行った後、既にチェックインしている場合は、" svn rm "すると、ログを見ることができます( svn log ) が存在する最後のリビジョンを見つけ、そのバージョンからファイルを取得します。

そのための1つの方法は、そのファイルを持っている古いリビジョンをマージすることです。 現在のリビジョンが123で、そのファイルがある最後のバージョンが120だと仮定すると、次のようにします。

svn merge -r123:120

最初にドライランを行い、不要なことをしないか確認するとよいでしょう。

svn --dry-run merge -r123:120


サブクエスチョン、ローカルコピーを削除せずにsvnからファイルを削除する方法について。

svn rm foo.txt --keep-local

もちろん、svn rm'ingする前に一時ファイルにコピーして、その後コピーバックすることも可能です。

cp foo.txt foo.txt-tmp
svn rm foo.txt
(svn ci -m "just removed foo.txt from the repository")
cp foo.txt-tmp foo.txt