Поскольку файлы с версиями между моими компьютерами одинаковы, я сделал следующее:
~$ hg clone ssh://myserver/hg/dotfiles mydotfiles
~$ mv mydotfiles/.hg .
~$ rm -rf mydotfiles
и все, теперь ваша домашняя папка находится под контролем версий, но, конечно, если ваши точечные файлы не совпадают на разных компьютерах, вам придется с этим что-то делать.
Поскольку я хочу создавать версии только для некоторых файлов, а не для всего, что находится в моей домашней папке, у меня есть это простое правило в ~/.hgignore
# This .hgignore is for the dotfiles repository only,
# the rest of my HG repositories use the file
# .hgignore_global as referenced by [ui]'s ignore setting.
syntax:glob
*
Таким образом, я не получаю океан файлов, когда выполняю hg status
, и вижу только те файлы, которые у меня есть под контролем версий, которые были изменены.
Но так как я хочу видеть неверсионные файлы при работе в другом репозитории hg, у меня есть это в моем ~/.hgrc
файле
[ui]
ignore=/home/gajon/.hgignore_global
И ~/.hgignore_global
содержит несколько фильтров для обычных переходных файлов:
syntax: glob
*.pyc
*~
.*.swp
.svn*
*.svn*
*.fasl
syntax: regexp
^\.pc/