Как настроить etckeeper с Mercurial в Ubuntu?

11

Я заинтересован в установке etckeeper с Mercurial в моей системе Ubuntu. Моя причина в том, что я не знаю, как использовать Git и не хочу учиться в данный момент. Если я проверю описание пакета, это звучит многообещающе:

kent@rat:~$ apt-cache search etckeeper
etckeeper - store /etc in git, mercurial, or bzr

Мне интересно, как продолжить дальше? Я пробовал гуглить, но ничего не нашел для комбинации Ubuntu + etckeeper + Mercurial.

(Если вы знаете хороший учебник для этой ситуации, ссылка - отличный ответ. Нет необходимости повторять.)

Исключен
источник
+1 Спасибо за непреднамеренный совет интересного инструмента.
Алексей Болотов

Ответы:

11

Я использую etckeeper как для Debian, так и для Ubuntu. Это безболезненно.

Просто сделайте, sudo etckeeper initи все готово!

На самом деле, вам может потребоваться изменить, /etc/etckeeper/etckeeper.confчтобы проверить, что hgвыбрано в качестве вашей команды VCS. Но это все, что вам нужно сделать.

Как только это будет сделано, etckeeper начнет отслеживать каждое изменение, которое вы вносите в файлы, /etcи фиксировать эти изменения в локальном репозитории. Это происходит автоматически всякий раз, когда вы запускаете apt-getчто-либо, а также как ночная работа cron

Однако, если вы хотите отправить свои изменения в удаленный репозиторий, вам нужно будет сделать это вручную или настроить что-то еще, чтобы сделать это за вас.

sybreon
источник
Ах. Хорошо знать! Теперь я чувствую, что готов попробовать.
удалено
2
Стоит отметить (для новичков), что «sudo apt-get install mercurial» понадобится, если он еще не установлен, с последующей соответствующей настройкой (вероятно, ~ / .hgrc), как описано в выходных данных «hg help config».
Питер Хансен
Я не думаю, что hg нужно много настроек для использования с etckeeper - все, что я сделал, это установил hgk (для «просмотра hg») в Ubuntu 8.04. Для более поздней версии Ubuntus просто введите apt-get install hgview для (улучшенного) «hgview». Оба предоставляют графический интерфейс для просмотра или поиска коммитов в репозитории, что удобно для тех, кто не опытен в использовании Mercurial (hg).
RichVel
8

В моей системе (Ubuntu Karmic), помимо настроек VCS="hg", мне пришлось отредактировать /etc/etckeeper/etckeeper.confи добавить следующее, иначе etckeeper commitбы жаловались на отсутствующее имя пользователя:

HG_COMMIT_OPTIONS="-u etckeeper@aeolus"

Кроме того, /etc/.hg/hgrcя добавил следующее:

[ui]
username = root@aeolus

Таким образом, когда я делаю коммит через etckeeper, имя пользователя для этого коммита будет etckeeper@aeolus, и если я буду делать коммит вручную через mercurial, он будет отображаться как root@aeolus.

Райан К. Томпсон
источник
Я только что установил новую систему по совету @sybreon, и у меня возникла та же ошибка «отсутствует имя пользователя». Второго шага, добавив имя пользователя в раздел [ui] (в моем случае) ~ / .hgrc, было достаточно, чтобы обойти проблему. Я не думаю, что часть HG_COMMIT_OPTIONS требуется.
Питер Хансен
3
Нет, это не так. Я просто добавил, что автоматические и ручные коммиты будут отображаться с разными именами пользователей. Таким образом, я знаю, какие коммиты в журнале были сделаны мной вручную после внесения некоторых изменений.
Райан С. Томпсон