Как я узнаю, что мой git репозиторий такой же, как мой репозиторий Mercurial? - PullRequest
3 голосов
/ 03 апреля 2020

Я преобразовал свой репозиторий Mercurial (в Bitbucket) в git (gitLab), мне интересно, как я могу узнать, что не было файлов / комментариев? Как проверить, совпадают ли два репозитория?

Спасибо, Дженнифер.

Ответы [ 2 ]

1 голос
/ 03 апреля 2020

Вы не можете сравнивать хэши SHA1 между Git и Mercurial (в любом случае они будут другими)

Но вы можете хотя бы написать скрипт и сравнить:

  • список ревизий в Hg (с их комментарием)
  • git log (включая комментарий)

И посмотрите, есть ли в списке тот же номер элементов и, если комментарии соответствуют

Для каждого коммита вы можете:

И убедитесь, что каждый из них:

  • имеет одинаковое количество файлов.
  • имеет такое же содержимое, сравнивая их с помощью инструмента сравнения ( kdiff3 или, как предложено ниже, WinMerge , если вы используете Windows)

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

0 голосов
/ 03 апреля 2020

Если у вас есть копия оригинального HG и новые репозитории Git локально, вы можете использовать программу, например WinMerge, для сравнения двух деревьев папок.

За исключением «внутренних» файлов, таких как .hg, вы должен найти идентичный набор файлов в заголовках обоих.

Лично мне нравится этот подход, потому что он не зависит от самих систем контроля версий. Если вы в первую очередь не полностью доверяете конверсии Git, я думаю, что имеет смысл проверить «факты на месте» напрямую, не выполняя никаких дополнительных промежуточных шагов.

...