2011-12-08 11 views
2

私は一見シンプルなことをやっているが、問題がある。SVNをトランクに分岐してファイルを削除する

基本的に、私はSVNのレポを持って、それはトランクを持っており、リビジョン122

から作成された枝は、私のようにそれをコミットし、ブランチに(SRC/utilsの/ foo.py)ファイルを追加しましたリビジョン128、すべて良い。 !!

$ svn merge -r122:127 ^/projects/my_project/trunk/src/utils . 
--- Merging r123 through r127 into '.': 
D foo.py 

おっとそれはどのような私のファイルを削除:。

しかし、だから私のような何かを、私は私の枝にたいトランクにして(つまり(123,124,125,126,127)いくつかのコミットが行われています

+0

誰かがトランクのfoo.pyを削除しましたか? – crashmstr

答えて

1

これは、ファイル自体よりも、ファイルを所有するフォルダと関連がある可能性があります。ほとんどのSCMツールは、ファイルのようにフォルダを扱います「utils」フォルダがマージされていることを確認するには、1つ上の階層に移動する必要があります。

編集:

ちょうどもう少し説明するが、それは、foo.pyがトランク内に存在するようにしても、ファイル「foo.py」は、それの子であることを記録したフォルダ「utilsの」です更新されたutilsフォルダをマージせずに表示することはできません。

1

まず、svn mergeコマンドを実行した正しいディレクトリにいますか?第二に、SVNのサブフォルダのみをマージすることはありません。ちょうど

svn merge ... ^/projects/my_project/trunk 

を作業コピーのルートに使用してください。それはマージ履歴(svn:mergeinfo)との関係において特に優れています。

0

Ah!誰かがトランクに実際にブランチをマージしていましたが、トランクにファイルを追加しましたが、そのコミットをロールバックして、トランクからファイルを削除しました。助けてくれてありがとう。 svn mergeがどのように動作するかについての良いレッスンです。

関連する問題