12

Mercurialを使い始めたばかりで、気に入ったJoelSpolskyのHgInitチュートリアルを読みました。

私は疑問に思っています:私がプライベートリポジトリを持っていて、それを約1か月間作業しているとしましょう。次に、 bitbucket.orgのように、一元化するか、公開することにします。すべての歴史を残したい。

直感的なことは、 hg cloneを使用することですが、ドキュメントによると:

ソースの場所は、将来のプルに使用されるデフォルトとして、新しいリポジトリの.hg/hgrcファイルに追加されます。

ソースはローカルのプライベートリポジトリであり、宛先はパブリックサーバーであるため、これは私が望んでいることではないと思います。将来、パブリックサーバーが自分のプライベートリポジトリからプルしようとして、それが中心的なリポジトリだと思ってほしくありません。これが理にかなっていることを願っています。

サーバー上の.hg/hgrcファイルを手動で微調整する必要がありますか?私はこれに正しく近づいていますか?

4

2 に答える 2

18

BitBucketのヘルプによると、BitBucketで空のリポジトリを作成し、それをプッシュするのと同じくらい簡単です。

...[リポジトリの作成]ページから新しい空のリポジトリを作成します。このリポジトリの名前はblonkであり、http://bitbucket.org/jespern/blonkにあると想定します

今、それにプッシュするだけです:

  $ cd ~/Work/blonk # our existing hg repository
  $ hg push http://bitbucket.org/jespern/blonk
  ...

終わり!

リポジトリ内の.hg/hgrcを編集して、Bitbucketへのデフォルトパスを含めることができます。

  $ cat .hg/hgrc
  [paths]
  default = http://bitbucket.org/jespern/blonk

これで、完全なURLを指定しなくても、hgpushとhgpullを入力するだけで済みます。

于 2010-06-23T21:09:24.880 に答える
4

説明したように、「hg push」を使用してこの操作を実行することは、全体として、おそらくこれを実行するための最良の方法です。

ただし、他の状況では、すべてのHg状態が.hgディレクトリ内に含まれていることに注意すると便利または安心できる場合があるため、このディレクトリを移動するだけでリポジトリを移動できます。

たとえば、example.comのマシンにsshアクセスできる場合は、「private」リポジトリの.hgディレクトリをtar(またはzip)して~/repo/foo、リモートマシンなどに解凍します(したがって、ディレクトリを作成します)。~/repo/foo/.hgそこに)、そして単にこれを複製します:

$ hg clone ssh://example.com/repo/foo

これには少し裏口のような感じがします、私は同意します。ただし、ここでは実際には何も起こっておらず、構成ファイルを編集する必要はありません。これを行うと、「適切な」方法よりも混乱が少なくなります。

于 2010-06-24T10:59:09.283 に答える