Mercurial - リモートと連携する

ずっとローカルでのみ作業していたのだが(前回記事)、 リモートにプッシュするようになったので、メモ。

プッシュ

xxxx というリモートリポジトリへプッシュする。

$ hg push xxxx

あたりまえだけど、xxxx はMercurialリポジトリであること。
xxxxにはURLまたはhg pathsで設定されている識別名を指定する。

$ hg paths

何も表示されない場合は設定がされていない。
設定ファイルをhg configで開いて編集する。

$ hg config -l

-lオプションでリポジトリ用の設定ファイルが開く (ユーザ用設定ファイルを開く場合は-eオプション)

そして、pathsセクションに追記する。

[paths]
default = /path/to/repo

最低限defaultを設定する。
defaultはpush先が指定されなかった時のデフォルトリモートリポジトリ(hg pushとだけコマンド入力した場合のプッシュ先)である。

空ディレクトリを管理する

リモートプッシュして気がつきましたが、 管理対象ファイルが存在しないディレクトリは管理されないのですね。
なので空ディレクトリも含めたい場合は、 対象ディレクトリ下へ適当なファイルを管理対象として配置しておく必要がある。

ざっと調べてみると、.hgkeepという名前のファイルを置くというのが多く見つかったので 同じにしておいた。

$ cd repo/path/to/empty
$ touch .hgkeep

See also