1

Mercurial リポジトリのミラーをセットアップする方法を誰か教えてもらえますか? ラップトップに Mercurial リポジトリがありますが、バックアップの形式として NAS ドライブにリポジトリを自動ミラーリングしたいと考えています。理想的には、ソリューションがリポジトリの既知の場所をチェックし、存在しない場合はそれを作成し、それ以降の変更をミラーリングすることができれば素晴らしいでしょう。

もう 1 つ心に留めておくべきことは、NAS が常に利用できるとは限らないことです。そのため、何らかの方法でこれに対応する必要があります。

4

2 に答える 2

1

Mercurialは、好きなようにそれを行う自由を与えてくれます。必要に応じて、レポをローカルマシンからNASに定期的にコピーするプロセスを設定できます。リポジトリに関するすべてがディレクトリに保存され、ディレクトリ内のすべてが単なるファイルです。

ただし、Subversionのようなバージョン管理システムに似たものをセットアップしたいように思えます。私は自分のプロジェクトの1つでこのようなことをしています(実際には、SVNからMercurialに移動しましたが、それは別の答えです)。

xp-dev.comにリポジトリがあり、コンピュータにローカルリポジトリがあります。私は自分がやりたいローカルリポジトリですべての作業を行い、hg com非常に頻繁に発行します。昼/夜が終わったらhg push ssh://hg2.xp-dev.com/myrepo、ローカルの変更をすべてリモートサーバーに送信します。

したがって、実際に実行したいのはhg push、ローカルリポジトリをNASに配置し、定期的に再度実行することを忘れないようにすることだけです。

于 2010-06-09T20:59:25.143 に答える
1

私はgitで似たようなことをしましたが、すべての機能もMercurialである必要があります。

あるサーバーで手動でクローンを作成しました(私の場合、家がNASとラップトップで焼失した場合に備えて、ネット上のどこかにVPSがあります)。

gitを使用すると、「ネイキッド」リポジトリを作成できます。つまり、w/oaブランチがチェックアウトされます。

それから私は定期的にそれにプッシュします。

これは、「フック」を使用して自動化できます。詳細については、こちらをご覧ください。

秘訣は、コミットフック(意図されたもの)から処理を外し、同期がワークフローにないことです。'at'コマンドを使用してプッシュスクリプトを数分で実行します。次に、バックグラウンドで非同期に実行されます。私はここでは気が進まないでしょう、失敗を優雅に処理しようとします。

これで、バックアップの同期を数分以内に維持する設定ができました。

于 2010-06-09T20:59:39.433 に答える