Хеш объекта полностью определяется содержимым объекта.
Найдите корневой коммит (ы) двух репозиториев и проверьте их данные (git cat-file -p
). Что-то будет другим.Все остальные различия проистекают оттуда.В противном случае истории совпадают до некоторой точки, и в этот момент происходит что-то другое, а затем истории расходятся.
В общем, такие вещи случаются, когда кто-то делает огромную git filter-branch
, чтобы переписать историю.Клонирование определенно не делает это, но импорт из другой системы контроля версий (SVN или Mercurial) может сделать это, если импортер не устанавливает все данные каждого коммита из другой VCS или если вы запускаете элементыс помощью различных картографов (например, коммиттеры Mercurial не соответствуют Git, поэтому нужна карта).
Редактировать при редактировании: это явно строка HG:extra
, которая отличается.(Текстовые строки tree
, author
, committer
и основная фиксация совпадают.) HG:extra
данные относятся к Mercurial;в этом случае это происходит из-за импорта в Mercurial из SVN.Python поддерживался в Mercurial в течение некоторого времени, но теперь поддерживается в Git.Возможно, Python изначально поддерживался в SVN.Это имеет смысл, учитывая даты: как отмечалось здесь , Python существовал до SVN или Mercurial;SVN был создан в 2000 году, 1.0 выпущен в 2004 году;Mercurial был создан в 2005 году. ( Git также датируется 2005 годом. )