4

私はこの投稿を見てきましたが、それでも私の特定の問題を解決する方法を理解できません。

svnリポジトリに対してローカルでgit-svnを使用しています。私は通常次のことをします:

  1. git svn rebase(リポジトリから最新のものを取得するため)。
  2. git checkout local-dev
  3. git merge master(これを私のローカルブランチにマージするため)
  4. 変更を加え、ローカルでコミットします
  5. gitチェックアウトマスター
  6. git merge local-dev
  7. git svn dcommit(すべてをアップストリームに送り返すため)

マージされたマスターからリポジトリに最新のバッチをコミットしようとするまで、通常は正常に機能します。

$ git svn dcommit

http://mysvnrepositoryにコミットしています ...D PROJECT / Content / js / dp / jquery-1.3.2.js

コミット中のマージの競合:ファイルまたはディレクトリ'PROJECT / Content / js / dp'はおそらく古くなっています:リソースが古くなっています。C:\ Program Files \ Git / libexec / git-core/git-svnの508行目で更新してみてください

この「/dp」フォルダーを操作中に削除したところ、gitはすべてを正常に処理しているように見えましたが、svnに送信されなくなりました。

これを修正する方法について何か提案はありますか?

4

2 に答える 2

3

なぜ競合が発生するのかわかりませんが、この状況での私の通常の戦術は、svn rebaseもう一度行うことです。

于 2009-08-09T19:26:20.373 に答える
2

誰かが親切にも irc チャンネルで私を助けてくれました。結局、「git merge local-dev --squash」を実行する必要があり、それがうまくいきました。

于 2009-08-09T20:10:03.543 に答える