120

別のブランチ (完全に異なるフォルダー構造を持つ) からマージした SVN ブランチ (私のブランチ) のコピーをローカルでチェックアウトしました。したがって、基本的には (古いファイルの) 削除と (新しいファイルの) 追加がたくさんあります。

マージをリポジトリ (ブランチ) にコミットしようとすると、Tortoise は次のように言います。

このコミットは再帰的ではなく、コミット用に選択された移動/名前変更されたフォルダーがあります。このような移動/名前変更は、常にリポジトリで再帰的に実行されます。それでもコミットしますか?

このコミットを続行してもよろしいですか? そうでない場合、問題がないようにするにはどうすればよいですか?

また、追加したいくつかのファイルについては、追加後に変更を加えました (これが性質に影響する場合)。

4

10 に答える 10

138

Google が見つけた修正方法: コミット ウィンドウで F5 キーを押します (「警告ポップアップ」ではありません)。

詳細については、 http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2831045を参照してください。

2011 年 8 月 26 日 22:39 に、Ryan J Ollos は次のように書いています。

ここ数か月、コミットを開始すると次のダイアログ ボックスが表示されるのを見てきました。マージ後にコミットしようとすると、頻繁に発生します。

ただし、最近気付いたのは、ファイル リストをキャンセルしてから手動で更新 (F5) すると、コミットを 2 回目に開始したときにメッセージが再び表示されないことです。コミットは問題なく成功したようで、それ以上の問題はありません。

コミット ダイアログは、変更通知のバックグラウンド スレッドで作業コピーを監視します。このような通知は、ファイルが変更/移動/名前変更された場合に OS によって送信されます... そのような通知を受信した場合、コミット ダイアログは最初にいくつかのチェックを行い、それらのほとんどを削除できます。チェックされておらず、コミット ダイアログに表示されていないファイルが何らかの形で変更されたことを通知が示している場合は、非再帰的なコミットに戻ります。これは、たとえば別のエディターでファイルを開いて、コミット ダイアログが開いている間に変更を保存すると、コミット ダイアログでチェックしていなくても、そのファイルもコミットされるためです (表示されません)。 F5 でダイアログを更新するまで)。

そのため、警告ダイアログが頻繁に表示される場合は、作業コピー内のファイルを変更する別のツール/アプリが実行されていないかどうかを確認してください。

お気づきのように、F5 キーを押すと、その「非再帰フラグ」がリセットされます。これは、更新後にすべてのファイルが再び表示されるためです。ダイアログを開始した後に変更したファイルも含まれます。

ステファン

于 2014-03-07T08:04:40.767 に答える
28

同じ問題がありましたが、「コミット時に無視」とマークしたファイルへの変更を元に戻すことで解決しました

これらのファイルを元に戻すと、tortoisesvn はマージから他のすべてのファイルをコミットできました

于 2014-05-30T09:12:56.423 に答える
6

このコミットを進めてもよろしいですか?

いいえ、コミットは WC ツリーのすべての変更を無視し、ルートレベルの変更のみを反映します (壊れたマージ)。

最初に非再帰をチェックアウトするときにエラーが発生しました。CLI でパラメーターを使用し て適切な完全なコミットを実行するか、TortoiseSVN GUI でこのスイッチを見つけることができます。--depth infinity

svn commit --depth infinity . -m "Merge"
于 2012-10-27T05:29:46.270 に答える
1

また、SVN で追加した一部のファイルについては、追加後に変更を加えました (これが性質に影響する場合)。

私の場合、コミットのためにそれらのファイルの選択を解除したとしても、それがまさにメッセージが表示される原因でした。

いくつかのファイルが影響を受ける場合にのみ安全に機能する醜いソリューション:

  1. 変更されたファイルのコピーを作成する
  2. 変更されたファイルを元に戻す
  3. マージ/再統合をコミットする
  4. 変更されたファイルを元の場所にコピーします

注意: ターゲット (トランク) がクリーンな場合にのみ、ブランチを再統合してください。

于 2015-11-03T09:31:08.940 に答える
1

私はちょうど同じ問題を抱えていました。すべてのファイルを選択する代わりに、バージョン管理をクリックすると、すべてうまくいきました。私の場合、バージョン管理オプションはすべてのファイルを選択したので、すべて問題ありません。

于 2016-07-20T13:40:19.693 に答える
-4

tortoisesvn のオプションはわかりませんが、コマンド ラインを使用できます

svn commit --non-recursive [folder]

よろしくお願いします

于 2012-10-26T21:04:58.017 に答える