Почему отдельный файл тегов в Mercurial - PullRequest
7 голосов
/ 17 сентября 2011

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

Но я не мог понять идею наличия файла .hgtags.Какова цель этого файла?

Ответы [ 3 ]

5 голосов
/ 17 сентября 2011

Наличие файла .hgtags позволяет записывать изменения в файл .hgtags, используя тот же формат, который используется для записи изменений во все другие файлы. Он также позволяет переносить теги между репозиториями в том же формате, который используется для передачи изменений файла.

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

Он также позволяет просматривать историю тегов проекта, просматривая историю файла .hgtags.

0 голосов
/ 21 февраля 2012

Я вообще не вижу никакого смысла в том, чтобы иметь отдельный файл тегов.История репозитория (включая теги) должна просматриваться с помощью команды 'log'.Наличие файла тегов также нарушает важное правило: изменение, которое строго связано с системой управления версиями, не должно каким-либо образом изменять хранилище.

0 голосов
/ 19 сентября 2011

Имена тегов в двух связанных репозиториях могут конфликтовать.

EG Тег A может находиться в одной точке репо с идентификатором X набора изменений, а в другом репо тот же тег может указывать на идентификатор ревизии Changeset Y. Во время объединения этот конфликт должен быть разрешен.

Конфликты во времяСлияние решается путем проверки файлов и связанных с ними изменений.

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

...