2011-01-21 11 views
13

私のIDEはSubversionを使用していることを知らず、クラス名を変更すると(Java)、バージョンコントロールシステムに通知せずにファイルの名前を変更します。私はもちろん、ファイルの履歴を保持するのが好きです。私はTortoiseSVNには、 "修復移動"と呼ばれるオプションがありますが、これは移動を修正することを理解していますが、私はUbuntuにいるのでオプションではありません。コマンドラインから移動を修復する方法はありますか?SVN "repair move" from command-line

+2

を入力することができ、あなたの.bashrc、その後

svn-repair() { mv -n -- "$2" "$1" && svn mv -- "$1" "$2"; } 

にこれを追加し、それが戻って手動でファイルを移動して、「SVNの動きは、」それを背中その目的地へ。もちろん、私はコマンドラインでそれを行うことができます、私はちょうど簡単な方法があるかどうか尋ねています。 –

+1

あなたのIDEが何であるかを言及したいかもしれません - 多くのIDE固有のツールがあります。 – shaunmartin

+0

@ shaunmartin、ここで彼が使っているIDEは本当に重要ですか? –

答えて

12

あなたは、ファイルの古い名前/場所を覚えている場合:

mv new-filename old-filename 
svn mv old-filename new-filename 

あなたは、もちろん、Subversionのコマンドラインクライアントをインストールする必要があり、あなたはおそらく持っています。そうでなければ、sudo aptitude install subversion subversion-clientはそのトリックを行うべきです。

あなたのコメントによると、いいえ、これより簡単な方法はありません。あなたの古いファイル名が何であるかわからない場合は、svn statがヒントを与えるかもしれません。

+1

+1、これも同様にスクリプト化することができます –

+0

私は同僚のためにこの質問を研究していましたが、[this](http://www.syntevo.com/smartsvn/documentation.html?page=commands.detect-moves)移動されたファイルの負荷がある場合はかなりクールです。 – Benjol

3

コマンドラインから移動を修復する方法はありますか?

いいえ、これはSVN issue 1802です。それは2003年以来開いているので、あなたの息を止めないでください。

5

あなたは、私はTortoiseSVNのソースコードで見

svn-repair old-filename new-filename 
+1

は、 'svn-repair old-filename new-filename'とするべきではありませんか? – chiccodoro

+0

はい!今それを修正:) – ndyer