Проверка версии Mercurial работает, но, согласно журналу, редакция не существует

#mercurial

#mercurial

Вопрос:

У меня есть некоторые проблемы с Mercurial. Проверка ревизии работает (с помощью команды hg clone -r X, которая клонирует ревизию X.), Но когда я попытался получить журнал для ревизии X., он возвращается с ревизией, которая не существует. Как я могу решить эту проблему?

Команды, которые я использую:

 hg clone -r RevisionNumber /path/to/local/repo my_folder
  

Затем:

 hg log -r RevisionNumber --template 'my_template'
hg diff -c RevisionNumber 
  

Я получаю:

 abort: unknown revision 'RevisionNumber '!
  

Я попытался выполнить ревизию с помощью number и number: hash, ни один из них не сработал.

Комментарии:

1. Пожалуйста, введите точные команды, которые вы используете. А что такое X? Хэш, тег или число?

2. Спасибо, я обновил сообщение.

3. В вашей log команде удалите все после первого числа оборотов и повторите попытку.

4. Не используйте --template опцию, если вы не знаете, как ее использовать

5. Проблема не в моем теге шаблона, я могу его использовать. Без тега шаблона проблема остается той же.

Ответ №1:

Я предполагаю, что вы ссылаетесь на набор изменений по идентификатору ревизии (вашему RevisionNumber ), который является локальным для исходного репозитория. Только хэш, идентифицирующий набор изменений, глобально уникален. Я основываю это предположение на вашем заявлении

Я попытался выполнить ревизию с помощью number и number: hash, ни один из них не сработал.

Вы должны попробовать использовать только хэш и посмотреть, работает ли это.

 hg log -r [hash]
  

(Если да number:hash , hg то думает, что вы ищете диапазон изменений между number и hash ).

Объяснение: при клонировании в определенную версию Mercurial включает только наборы изменений, которые являются прямыми предками этой версии, и не учитывает все остальные. Нумерация является локально последовательной (что означает, что новые номера присваиваются по мере поступления набора изменений в репозиторий).

Комментарии:

1. Спасибо, это было решение