161 entry[1].append(('t', 'topic', '', |
161 entry[1].append(('t', 'topic', '', |
162 _("use specified topic"), _('TOPIC'))) |
162 _("use specified topic"), _('TOPIC'))) |
163 |
163 |
164 extensions.wrapfunction(cmdutil, 'buildcommittext', committextwrap) |
164 extensions.wrapfunction(cmdutil, 'buildcommittext', committextwrap) |
165 extensions.wrapfunction(merge, 'update', mergeupdatewrap) |
165 extensions.wrapfunction(merge, 'update', mergeupdatewrap) |
|
166 |
|
167 try: |
|
168 evolve = extensions.find('evolve') |
|
169 extensions.wrapfunction(evolve, "presplitupdate", presplitupdatetopic) |
|
170 except (KeyError, AttributeError): |
|
171 pass |
|
172 |
166 cmdutil.summaryhooks.add('topic', summaryhook) |
173 cmdutil.summaryhooks.add('topic', summaryhook) |
167 |
174 |
168 |
175 |
169 def reposetup(ui, repo): |
176 def reposetup(ui, repo): |
170 if not isinstance(repo, localrepo.localrepository): |
177 if not isinstance(repo, localrepo.localrepository): |
522 cmdutil.extraexport.append('topic') |
529 cmdutil.extraexport.append('topic') |
523 cmdutil.extraexportmap['topic'] = _exporttopic |
530 cmdutil.extraexportmap['topic'] = _exporttopic |
524 cmdutil.extrapreimport.append('topic') |
531 cmdutil.extrapreimport.append('topic') |
525 cmdutil.extrapreimportmap['topic'] = _importtopic |
532 cmdutil.extrapreimportmap['topic'] = _importtopic |
526 patch.patchheadermap.append(('EXP-Topic', 'topic')) |
533 patch.patchheadermap.append(('EXP-Topic', 'topic')) |
|
534 |
|
535 ## preserve topic during split |
|
536 |
|
537 def presplitupdatetopic(original, repo, ui, prev, ctx): |
|
538 # Save topic of revision |
|
539 topic = None |
|
540 if util.safehasattr(ctx, 'topic'): |
|
541 topic = ctx.topic() |
|
542 |
|
543 # Update the working directory |
|
544 original(repo, ui, prev, ctx) |
|
545 |
|
546 # Restore the topic if need |
|
547 if topic: |
|
548 _changecurrenttopic(repo, topic) |