
hg(Mercurial)でfork元リポジトリの変更を反映させる方法が、あるはずなのですが、探しても404 not foundになってたりbitbucketのサービス関連のものだったりして、少々ややこしかったので、Wayback Machineなども使って調べた結果をここに書いておきます。
要するに、所謂Gitにおける「git remote add origin フォーク元」及び「git fetch origin」と「git merge origin/master」です。
広告
備考: gitの場合
先にも書きましたが、gitの場合は
git remote add origin フォーク元リポジトリ
でそのリポジトリのリモートとしてフォーク元リポジトリを指定しておくことで、フォーク元リポジトリを記録しておけます。
フォーク元の変更を取り込むときは、
git fetch origin
で内容を取得し、
git merge origin/master
でマージして反映、という感じの模様。
hg(Mercurial)の場合
hgの場合、remote add等ではなく、リポジトリ毎のローカルに存在する.hgrcファイルを編集してfork元リポジトリを記録し、そこからpullでfork元のリポジトリを反映させることになります。
おそらく、fork(clone)した後の状態だと、ローカルのリポジトリ内にある.hgrcファイルでは、
[paths]
default = fork元リポジトリ
となっているはずです。
ですが、このままだと後々のPUSH先がfork元リポジトリになってしまい、色々ややこしいので、
[paths]
default = PUSH先リモートリポジトリ
origin = fork元リポジトリ
というように、パスを追加することで、リモートリポジトリのアドレスを変更し、かつ増やすことができます。なお、originの部分は任意の名前にすることが可能です。
この変更を行った後、
hg pull origin
を行うことでfork元の変更を反映させる、という形になります。
試していませんが、おそらくhg-git環境でも、これでfork元のgitリポジトリを追えるのではないかと思います。
その他コメントなど
GitもMercurialも便利ですね。hg-gitのおかげで、gitリポジトリもhgで扱えるのはとても助かります。