Распечатка хеш-кода источника пересадки
Мы перенесли набор изменений из другого репозитория в текущий. Нам кажется, что расширения трансплантата хранят оригинальный хэш набора изменений в дополнительном поле, которое можно показать с помощью hg log --debug
, лайк:
changeset: 720:092506
tag: tip
parent: ...
parent: ...
manifest: ...
user: ...
date: ...
files: ...
extra: branch=default
extra: transplant_source=\xe3>\xa7py\xff\xcda\x93d\xde\xa5\xb5\xa6\xf7\xed\xc0\x16\x82\xa3
description:
Bugfix, ...
Вот оригинальный хэшсет чансет (transplant_source
) не слишком читабелен и полезен. Как мы можем распечатать transplant_source
в читаемом формате с hg log
команда?
Я играл с ifeq
и оператор списка без успеха.
1 ответ
Решение
Отвратительно, и не отвечает на вопрос, но, кажется, работает (Python 2)::)
hg log --debug | python -c "import sys, re; x=re.compile(r'^extra:\\s+transplant_source='); print '\\n'.join([l.split('=',1)[0]+'='+eval('\"'+l.split('=',1)[1].strip()+'\"').encode('hex') if x.match(l) else l.rstrip('\\n') for l in sys.stdin])"