svnには `revert-all`コマンドがありますか?


159

すべての変更を破棄して、リポジトリーにあるコードに戻りたい場合は、次のようにします。

$ rm -fr *
$ svn up

これは十分簡単ですが、これを実現する単一のコマンドがあるかどうか疑問に思っています。

$ svn revert-all

-rfの代わりに-frを使用するのは誰ですか?rimferではなくrimrafと発音される理由があります。
Jimmy Hoffa

@JimmyHoffa理由は何ですか?
Eric Wilson

3
大会のウィルソン!コンベンション、サー!私たちの規律と文化的伝統がなければ、私たちは野蛮人です!いい子さん!
Jimmy Hoffa

回答:


306

あなたがすることができます:

svn revert -R .

バージョン管理されていない新しいファイルは削除されません。ただし、次のようなシェルスクリプトを簡単に記述できます。

for file in `svn status|grep "^ *?"|sed -e 's/^ *? *//'`; do rm $file ; done

2
SOへようこそsvn revert -R。私が与えた2つのコマンドと同等ではないので、完全な回答に感謝します。
Eric Wilson

1
Windowsコマンドラインでバージョン管理されていないすべてのファイルを削除する場合の答えは次のとおりです:stackoverflow.com/a/1502365/1385429
Christiaan Westerbeek '19

ユーザーmashzoは、(今は削除された回答で)すべての変更を破棄する-R一環として、バージョン管理されていないディレクトリも確実に削除するためにフラグが必要になる可能性があることを指摘しました。これが適切だと思われる場合は、これを回答に組み込むことを検討してください。
Jeremy Banks

27

コマンドがあります

svn revert -R .

または
、実際には上記と同じ--depth = infinityを使用できます。

svn revert --depth=infinity 

svn revertデータの破棄、つまりコミットされていない変更を破棄することを目的としているため、本質的に危険です。元に戻すと、Subversionはそれらのコミットされていない変更を取り戻す方法を提供しません


7
-Rに相当--depth=infinity
マイケルバー

4
コマンド「svn revert -R」の構文に現在のディレクトリがありません。「svn revert -R」である必要があります。
boddhisattva 2014年

現在、投稿-R--depth-infinityそうでない場合に相互に排他的であるように聞こえます。
ahnbizcad 2015

@ahnbizcadとにかく、これら2つの正確な同義語はありませんか?
Nyerguds 16

それが私のポイントです。この答えは、そうでない場合に2つの音を異ならせます。「相互に排他的」=同義語の反対
ahnbizcad


0

変更されたファイルを元に戻すには:

sudo svn revert
svn status|grep "^ *M" | sed -e 's/^ *M *//'

私のフォーマット変更はあなたが望むものを表していると思います。気に入らない場合はロールバックしてください。そしておかげで、SVNの悪い昔を覚えて、それの良い... :)
エリック・ウィルソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.