Установите контакт Mercurial (Hg) (или владельца) через командную строку

Есть ли способ установить владельца (поле контакта) с помощью параметров командной строки hg или hgtk? Я могу вызвать конфигурацию репозитория через:

>> hgtk repoconfig

То, что я хочу сделать, это что-то вроде:

[does not work] >> hgtk repoconfig set contact "Name of Contact"

person Danny Douglass    schedule 01.03.2011    source источник
comment
Извините, я не понимаю вашего вопроса. Кто владелец? Связаться с ним по какой причине? Что не работает? Почему хгтк?   -  person Oben Sonne    schedule 01.03.2011
comment
mercurial обычно не позволяет редактировать файлы конфигурации с помощью командной строки. см. twitter.com/#!/mpmselenic/status/8392230762   -  person Wooble    schedule 01.03.2011
comment
Oben — Владелец — это поле, установленное в файле hgrc contact=имя контакта. Он используется в нашей организации для отслеживания владельца репозитория Hg.   -  person Danny Douglass    schedule 01.03.2011
comment
А, ладно, контактное поле в hgrc. Меня смутило упоминание hgtk в этом контексте, и я неправильно истолковал аннотацию [does not work]. Итак, Wooble прав. Кроме того, проверьте похожий вопрос.   -  person Oben Sonne    schedule 01.03.2011


Ответы (1)


Это можно сделать только путем редактирования файла hgrc. Вы можете сделать это глобально, только для своей учетной записи пользователя или для каждого репо в зависимости от того, какой файл hgrc вы хотите отредактировать.

Вот основной автор комментария Mercurial по аналогичному запросу: http://twitter.com/#!/mpmselenic/status/8392230762

Более серьезно, причина в том, что не существует доказуемо безопасного способа заставить программу читать и записывать файл конфигурации, который также может быть читаем человеком безопасным способом. Это действительно кажется, но всегда есть случай, который может застать вас врасплох (повторяющиеся записи? %include rules? неправильное форматирование для начала). Все хлопоты и никакой выгоды.

Обновлять

Если вы знаете, что это совершенно новое репо, вы можете легко сделать это из командной строки:

echo -e "[web]\ncontact = $CONTACT" >> $(hg root)/.hg/hgrc

Это становится небезопасным только в том случае, если в hgrc уже есть раздел [web] (или два, или одна и две директивы %include, которые могут их иметь).

person Ry4an Brase    schedule 02.03.2011
comment
Это не имеет ничего общего с боязнью изменения текстового файла. У нас есть процесс автоматизации создания наших репозиториев, и было бы неплохо включить его в сценарий. Вместо этого это ручной шаг, который можно забыть или сделать неправильно. - person Danny Douglass; 03.03.2011
comment
Если вы только что создали репо, вы можете быть неуклюжим, как показано в обновлении. - person Ry4an Brase; 03.03.2011