Mercurial: удобный способ отобразить точное количество версий файлов? - PullRequest
3 голосов
/ 16 декабря 2011

Когда я использовал Subversion как часть процесса сборки, я запускал 'svn info', собирал уникальный идентификационный номер и выводил его в файл заголовка для включения другими программами.Это позволило пользователям, например, сказать: «Я запускаю сборку 456», и, учитывая число 456, я всегда мог точно указать, что они запускали.

Я пытаюсь понять, какдобиться того же с Mercurial.«hg summary» отображает целочисленный идентификатор, а также шестнадцатеричный хеш-код.Из того, что я читал, целочисленный идентификатор может отличаться для разных людей.Я предполагаю, что хеш-код уникален, но он не очень удобен для пользователя.

Является ли хеш-код hg единственным уникальным способом идентификации конкретной версии файлов в Mercurial?

СпасибоФред

Ответы [ 2 ]

3 голосов
/ 16 декабря 2011

Да, это единственный способ однозначно идентифицировать набор изменений.

Более подробная информация в документации: ChangeSet и ChangeSetID

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

  1. Если сборка всегда происходит на одном и том же компьютере (то есть: в одном и том же хранилище), вы можете использовать целочисленный идентификатор, потому что он никогда не изменяется в конкретном репо (кроме случаев, когда вы переписываете историю)
  2. Если сборка определенной версии происходит только один раз, вы можете использовать переменную, которую вы увеличиваете каждый раз в скрипте сборки.
1 голос
/ 17 декабря 2011
Команда

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

. Для того же репо

>hg id -nibt
6c4d15d8cfbd 841 default tip

>hg id
6c4d15d8cfbd tip

вы также можете подумать о некоторых командах, которые поддерживают шаблоны вывода,и объединить хороший результат из шаблона с ключевыми словами: hg help templating

Пример для уже упомянутого репо

>hg log --template "{rev}:{node|short}-{latesttag}+{latesttagdistance}" -r tip
841:6c4d15d8cfbd-1.3+3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...