Это невозможно.
Идентификатор хэша объекта Git представляет собой криптографическую контрольную сумму данных базового объекта. В случае объекта коммита это криптографическая контрольная сумма строки commit
, пробел, размер в байтах остальных данных, выраженных в десятичном виде, NSC ASCII, а затем заголовки, текст сообщения журнала иtrailers.
Идентификатор хэша коммитов Mercurial представляет собой криптографическую контрольную сумму соответствующей части данных Mercurial для этого коммита (структуры данных Mercurial отличаются, поэтому некоторые данные коммитов не участвуют в контрольной сумме).
Единственный известный сегодня способ создания определенного хеш-идентификатора из некоторых известных данных - как это было бы в коммите Git - это добавить область данных «мусор», а затем тратить много вычислительных хешей лет с различным содержимымв хлам-данных. Команда, которая создала shattered , использовала 110 вычислительных лет для того, чтобы найти один дубликат хеш-идентификатора.