svn、ポストコミットトリガースクリプトを使用して2 reposを同期

2つのsvn reposを双方向で同期したい。 svnに保存されているファイルは小さなxmlファイルで、notes/sketchesのようなものです。 2つのレポは企業のファイアウォールで区切られているため、自分の選択肢が制限されています(たとえば、外部はありません)。

Even if i'm aware that this is not recommended by redbook & co i'm thinking about the following: - implement a post-commit hook that is set on both repos that - exports the commited files and commits them to the "other" repo (except the triggering commit is a sync commit itself)

私は矛盾した状況の可能性があることを認識していますが、このシナリオでは、それは非常に起こりにくく、手動で検出して修正することができます。

本当に(:-))私が心配しているのは、私がそのような解決策をオンラインで見つけることができないという事実です。それはちょうどsvnが「これにはならない、それは危険です」と言っているのでしょうか?

br woecki

0
少なくとも1つは欠けている。エクスポートされたバージョン管理されていないファイルは、サイドレポに簡単、直接
追加された 著者 Lazy Badger,
タグ、svnコピー、移動、属性の変更などをサポートする予定ですか?
追加された 著者 Johan Lundberg,
良い質問!動くことなく、属性が変わることはありません(少なくとも、私の心には用途がありません)。将来私がreposの1つにタグを投げると、それを同期させる必要はありません。
追加された 著者 woecki,

1 答え

双方向の書き込みの問題は、より複雑に見えます。両方のサイトがリビジョン#1にあるシナリオを想像してみてください。コミットはsite1とsite2で同時に発生します。 Site1はポストコミットトリガを使用して、サイト2のサイト2にリビジョン#2を送信し、コミット後のトリガを介してリビジョン#2のバージョンをサイト1のリビジョン#3に送信します。

今度は2つの非常に悪いことが起こります。最初は無限ループに入ります。コミット後のトリガーは、site2がリビジョン#3をリビジョン#4として返すように送信します。

第二に、スプリットブレインのシナリオに入ります。つまり、各サイトに2つの非常に異なるリビジョン#2があります。だから、これを行うための技術は非常に複雑になります。なぜなら、単純な解決策はあなたが1つの場所に書き込むだけのマスタースレーブアプローチなのです。

双方向書き込み(アクティブ - アクティブ、アクティブ - パッシブ)を行うことができるより複雑なものが必要な場合は、それを行うソフトウェアがあります。 http://www.wandisco.com

0
追加された