Распечатка хеш-кода источника пересадки

Мы перенесли набор изменений из другого репозитория в текущий. Нам кажется, что расширения трансплантата хранят оригинальный хэш набора изменений в дополнительном поле, которое можно показать с помощью 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])"

Другие вопросы по тегам