Mercurial: как изменить имя тега - PullRequest
       1

Mercurial: как изменить имя тега

14 голосов
/ 27 сентября 2011

Как и в заголовке: я сделал тег в Mercurial.

hg tag release_123

Но позже я узнал, что имя было неправильным, оно должно быть release_124. Можно ли просто переименовать тег или мне нужно создать новый?

Ответы [ 4 ]

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

Я бы сделал это, удалив тег, а затем добавив новый тег с новым именем

Вики-тег Mercurial объясняет, как удалить тег:

Как мне удалить тег?

Либо на

  • hg tag --remove tagname

(это ближайший эквивалент тега cvs -d)

  • добавление тэга 0000000000000000000000000000000000000000 в конец .hgtags

  • удаление всех ссылок на тэги в .hgtags (но это может привести к путаницеалгоритм разрешения столкновений с метками головы)

8 голосов
/ 27 сентября 2011

Вы должны иметь возможность редактировать обычные теги в файле .hgtags (и фиксировать его)

"Обычный" тег (без специального спецификатора) является ревизиейконтролируется, распространяется с другими изменениями и находится в файле .hgtags в репозитории.

В этом старом потоке упоминается, что вам нужно делать это во всех ГОЛОВАХ репо.

0 голосов
/ 26 августа 2014

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

Переименовать тег:

hg tag -f -r

Чтобы удалить старый тег:

тег hg --remove

0 голосов
/ 08 июня 2014

Как то, что сказал @ Мэтт-Эллен, но наоборот.Потому что мне нравится быть уверенным, что ревизия помечена правильно перед тем, как удалить старый тэг.

Здесь я создаю пример репо с 4 ревизиями.

  1. Просмотр журнала
  2. Просмотр тегов (none и tip)
  3. Создание тега в редакции № 2 (с использованием хэша)
  4. Просмотр тегов (теперь есть один и tip)
  5. Создание нового имени тега
  6. Просмотр тегов (теперь их два и подсказка)
  7. Удаление неверного имени тега
  8. Просмотр тегов (теперь есть один иtip)

Пример:

$ hg log

changeset:   3:271cb2836c23
user:        user <you@example.com>
date:        Sat Mar 01 13:49:55 2014 -0600
summary:     Very important things.

changeset:   2:3c953ee62faf
user:        user <you@example.com>
date:        Wed Feb 26 00:17:55 2014 -0600
summary:     Did some changes.

changeset:   1:54e2275eed1e
user:        user <you@example.com>
date:        Tue Feb 25 01:34:31 2014 -0600
summary:     So, lots of things here.

changeset:   0:3f3e1aee4e14
user:        user <you@example.com>
date:        Sat Feb 22 00:42:29 2014 -0600
summary:     Inital project checkin.

$ hg tags
tip          3:271cb2836c23

$ hg tag -r 3c953ee62faf release_123
$ hg tags
tip           3:271cb2836c23
release_123   2:3c953ee62faf

$ hg tag -r 3c953ee62faf release_124
$ hg tags
tip           3:271cb2836c23
release_123   2:3c953ee62faf
release_124   2:3c953ee62faf

$ hg tag --remove release_123
$ hg tags
tip           3:271cb2836c23
release_124   2:3c953ee62faf
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...