2014-04-30 1 views
2

Я только что перенесла свои исходные коды из SVN в HG Mercurial.Hg Mercurial's История изменений журнала в исходном коде

С SVN можно добавить сообщение фиксации в исходные коды, если вы поместите определенные ключевые слова в качестве комментария. Обычно это добавляется вверху или внизу исходных кодов. Пример: /* * Изменения: $ Revision $ */

Что такое HG эквивалент этой функции?

Я бы предпочел иметь историю изменений внутри файлов, вместо того, чтобы перейти на Hg, чтобы просмотреть историю. Это возможно?

ответ

4

Чтобы ответить на ваш вопрос:

Вы можете использовать расширение KeywordExtension. Это позволяет использовать CVS-подобное расширение ключевых слов в файлах.


Совет: Не делайте этого.

Это делает слияние головной боли, а в Mercurial вы (вероятно) собираетесь объединить все время.

Кроме того, ключевое слово для истории будет расширяться до линейного дампа истории, тогда как ваша реальная история Меркуриала не является линейной, она параллельна, что делает дамп истории в файле ложным. Это может привести к истории, которая, по-видимому, исправила ошибку до того, как была реализована функция, в которой она находится.

Итак, я бы посоветовал использовать это расширение.

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

Однако, если вы все еще хотите, чтобы включить его, на странице выше, имеет следующие данные:


Чтобы включить это расширение добавить его в «[расширений]» строфы в файле hgrc:

[extensions] 
keyword= 
#or, if keyword.py is not in the hgext folder: 
#keyword=/path/to/keyword.py 

Дополнительная настройка выполняется в [ключевое слово] и [keywordmaps] секции в файле конфигурации:

# filename patterns for expansion are configured in this section 
[keyword] 
# expand keywords in all python files in working dir 
**.py = 
# do not expand keywords in files matching "x*" in working dir 
x* = ignore 
... 
# override the cvs-like default mappings with customized keyword = expansion pairs, 
# where expansion values contain Mercurial templates and filters 
[keywordmaps] 
HGdate = {date|rfc822date} 
lastlog = {desc} 
checked in by = {author} 
  • Для обеспечения скорости и безопасности (избегайте непреднамеренно расширенных ключевых слов) рекомендуется включить расширение на репо только в режиме репо/.hg/hgrc, а не на глобальном уровне, а также тщательно настроить шаблоны [keyword] filename с большой осторожностью ,

(выше был скопирован с KeywordExtension documentation

+1

Действительно:.. Не делать это противоречит тому, как ртутным работ Если вы хотите SVN, используйте SVN..(+1) – msw

+0

+1 для ответа на вопрос, но все же советуя против. – Vince

Смежные вопросы