誤って私のユーザーフォルダのsvnをチェックアウトしましたがphp / html / svnファイルでいっぱいではありません


0

SVNレポのチェックアウトを元に戻す方法はありますか?

私は誤って自分のユーザフォルダ内の巨大なコードベースをチェックアウトしました。手動ですべてを削除するのは本当に面倒です。

作業コピーの削除について話しています...

svn 

1
お使いのOSは何ですか? N個の最新ファイルを削除するだけではいけませんか。
terdon

@ terdon私はMacです。

回答:


2

svn ls 現在の作業ディレクトリにあるバージョン管理されたファイルとフォルダを表示します。

バージョン管理されたファイルの削除を自動化するために、以下を実行することができます。

svn update --set-depth empty

この意志 セット 作業コピーの深さ emptyつまり、今後の更新操作では何もチェックアウトされません。これはまた、与えられた深さにない全ての既にバージョン管理されたファイル(すなわちそれらの全て)をローカルに削除させる。


0

私はあまりよく知らない svn そのため、チェックアウトしたファイルが元のタイムスタンプを保持しているかどうかわかりません。そうでないと仮定すると、チェックアウトされたファイルはすべてシステム上に同時に作成されています。その後、日付順に並べ替えることでそれらを削除できるはずです。 finder またはコマンドラインから find

24時間以内に作成されたすべてのファイルとフォルダを削除したい場合は、次の手順を実行します。

find . -mtime -1 -delete

また使用することができます -mmin 数分間見て man find そして ここに 詳細については。

状況がより複雑で単純なタイムスタンプではうまくいかない場合は、ファイルを別のディレクトリにチェックアウトし、作成されたファイルを一覧表示してから、元のディレクトリから同じ名前のファイルを削除します。

mkdir newdir; cd new dir
svn co http://svn.url.com
for n in $(find . ); do rm "/old_dir/$n"; done

これにより、チェックアウトされたすべてのファイルが一覧表示されます( find . )順番に削除してください。


SVNの場合、最初のアプローチは機能しません use-commit-times = yes 設定されています。
Daniel Beck
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.