teematsu @ ウィキ

Mercurial

最終更新:

teematsu

- view
管理者のみ編集可

日本語対応

http://www.umikabuto.ivory.ne.jp/archives/2063

「ソ」など \ を含む文字が入ったファイル名があるとコミットできない → [Settings]で[Extensions]のwin32mbcsにチェックを入れる。

TortoiseHGを使うと、リポジトリにファイル名がSJISで記録されてしまい、Linuxなどで利用できない。

http://www.asukaze.net/etc/vcs/hg-fixutf8.html

fixutf8 拡張を使う。ただし、対応するのはTortoiseHg 2.1.4 (Mercurial 1.9.3)まで。

このfixutf8を使うと、TortoiseHG利用時で、hgrcを書き換えるような機能を使うと以下のようなエラーが発生する。

Traceback (most recent call last):
  File "tortoisehg\hgqt\sync.pyo", line 1189, in accept
  File "tortoisehg\util\wconfig.pyo", line 237, in writefile
TypeError: __init__() takes exactly 4 arguments (3 given)

このエラーを回避するには、forkされ修正されたfixutf8を使う。https://bitbucket.org/mponomarenko/hg-fixutf8

いずれのfixutf8でも、日本語ファイル名のファイルについては

  • 差分が利用できない。
  • Drag & Dropによるファイル取り出しができない。 差分表示領域には以下のように表示される。
    ファイルや差分を表示しません: これはテストです.docx@4cae4a30e6a2: not found in manifest
    

.hgtags

merge時に衝突したときの参考。フォーマットは次のとおりの模様。

da845436307c45508bf2ceab039691770104a490 testtag
da845436307c45508bf2ceab039691770104a490 testtag2  →同じchangesetに別のタグを付けた
7bd41d9d348b6304a07821d78fc5f865c6cc39e2 testtag0
7bd41d9d348b6304a07821d78fc5f865c6cc39e2 testtag   →hg tag -f で元のtesttagとは別のchangesetにタグをつけなおした
0000000000000000000000000000000000000000 testtag0  →hg tag --remove でタグを削除した

ファイル名変更

ファイル名変更

hg rename 変更前 変更後

自分でファイルの移動・変更をしてしまったあと、hgにrename相当の処理を実行させる

hg addremove -s 100

"-s 100"は100%一致するものを移動とみなす。

なお、リポジトリに追加されていないファイルは自動的に追加されるし、無くなったファイルは自動的に削除される。

変更前も含めて履歴を追跡する

オプション --follow を付けて実行する。

hg log --follow foo.txt

名前:
コメント:
目安箱バナー