0

最近、Subversionによる奇妙な振る舞いに気づきました。時折、そして一見ランダムに見えるように、「svnup」コマンドは私のCSSファイルに大混乱をもたらします。99%の確率で正常に動作しますが、悪くなるとかなりひどい状態になります。

Subversionは、競合に注意する代わりに、着信するすべての競合ラインを破棄し、マージの成功を報告しているように見えます。これにより、手動でファイルに戻さない限り、入ってくる変更が事実上消えてしまうため、非常に不便な手動マージが発生します。

これはユーザーエラーのケースだと思っていたのですが、それが起こるのを見ただけです。同じCSSファイルで頻繁に作業する2人の設計者がいますが、どちらも競合の解決に精通しており、熟練しています。

理解できる限り、これは、両方の設計者がチェックインする変更が多数あり、一方が他方を打ち負かしたときに発生します。これがSVNのマージアルゴリズムを混乱させる可能性はありますか?

SVNからのこのタイプの動作を扱った経験や有益な逸話は大歓迎です。

4

2 に答える 2

1

この構造のファイルの最小限の変更を検出するのに優れた差分/マージプログラムを見つけた場合は、-diff-cmdオプションを使用しsvn updateてそれを呼び出します。

于 2012-09-14T20:27:28.637 に答える
0

面倒かもしれませんが、CSSファイルの変更を確認するには

svn diff -r 100:101 filename/url

たとえば、HEADリビジョンからステップバックします。これは、どのような変更が、どのリビジョンで、誰によって行われたかを示す必要があります。以前に発生したマージの問題のように聞こえますが、残念ながら、以前のリビジョンを確認して手動でマージすることで解決できました。

于 2012-09-13T23:35:03.783 に答える