Mercurial > public > mercurial-scm > evolve
diff hgext3rd/topic/__init__.py @ 6539:45689da4ed41
topic: teach hg import/export to handle topic namespace as well
Importing topic currently doesn't work, but will hopefully be fixed soon.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Fri, 14 Jul 2023 15:54:51 -0300 |
parents | 80d5d4e587f7 |
children | 09fb1cfb5adc |
line wrap: on
line diff
--- a/hgext3rd/topic/__init__.py Mon Jul 10 16:13:45 2023 -0300 +++ b/hgext3rd/topic/__init__.py Fri Jul 14 15:54:51 2023 -0300 @@ -1681,22 +1681,37 @@ ## preserve topic during import/export +def _exporttns(seq, ctx): + tns = ctx.topic_namespace() + if tns != b'none': + return b'EXP-Topic-Namespace %s' % tns + return None + def _exporttopic(seq, ctx): topic = ctx.topic() if topic: return b'EXP-Topic %s' % topic return None +def _importtns(repo, patchdata, extra, opts): + if b'topic-namespace' in patchdata: + extra[b'topic-namespace'] = patchdata[b'topic-namespace'] + def _importtopic(repo, patchdata, extra, opts): if b'topic' in patchdata: extra[b'topic'] = patchdata[b'topic'] def setupimportexport(ui): """run at ui setup time to install import/export logic""" + cmdutil.extraexport.append(b'topic-namespace') + cmdutil.extraexportmap[b'topic-namespace'] = _exporttns cmdutil.extraexport.append(b'topic') cmdutil.extraexportmap[b'topic'] = _exporttopic + cmdutil.extrapreimport.append(b'topic-namespace') + cmdutil.extrapreimportmap[b'topic-namespace'] = _importtns cmdutil.extrapreimport.append(b'topic') cmdutil.extrapreimportmap[b'topic'] = _importtopic + patch.patchheadermap.append((b'EXP-Topic-Namespace', b'topic-namespace')) patch.patchheadermap.append((b'EXP-Topic', b'topic')) ## preserve topic during split