equal
deleted
inserted
replaced
832 return runfn() |
832 return runfn() |
833 |
833 |
834 ## facility to let extension process additional data into an import patch |
834 ## facility to let extension process additional data into an import patch |
835 # list of identifier to be executed in order |
835 # list of identifier to be executed in order |
836 extrapreimport = [] # run before commit |
836 extrapreimport = [] # run before commit |
|
837 extrapostimport = [] # run after commit |
837 # mapping from identifier to actual import function |
838 # mapping from identifier to actual import function |
838 # |
839 # |
839 # 'preimport' are run before the commit is made and are provided the following |
840 # 'preimport' are run before the commit is made and are provided the following |
840 # arguments: |
841 # arguments: |
841 # - repo: the localrepository instance, |
842 # - repo: the localrepository instance, |
844 # - opts: the import options. |
845 # - opts: the import options. |
845 # XXX ideally, we would just pass an ctx ready to be computed, that would allow |
846 # XXX ideally, we would just pass an ctx ready to be computed, that would allow |
846 # mutation of in memory commit and more. Feel free to rework the code to get |
847 # mutation of in memory commit and more. Feel free to rework the code to get |
847 # there. |
848 # there. |
848 extrapreimportmap = {} |
849 extrapreimportmap = {} |
|
850 # 'postimport' are run after the commit is made and are provided the following |
|
851 # argument: |
|
852 # - ctx: the changectx created by import. |
|
853 extrapostimportmap = {} |
849 |
854 |
850 def tryimportone(ui, repo, hunk, parents, opts, msgs, updatefunc): |
855 def tryimportone(ui, repo, hunk, parents, opts, msgs, updatefunc): |
851 """Utility function used by commands.import to import a single patch |
856 """Utility function used by commands.import to import a single patch |
852 |
857 |
853 This function is explicitly defined here to help the evolve extension to |
858 This function is explicitly defined here to help the evolve extension to |
972 if partial: |
977 if partial: |
973 repo.ui.setconfig('ui', 'allowemptycommit', True) |
978 repo.ui.setconfig('ui', 'allowemptycommit', True) |
974 n = repo.commit(message, opts.get('user') or user, |
979 n = repo.commit(message, opts.get('user') or user, |
975 opts.get('date') or date, match=m, |
980 opts.get('date') or date, match=m, |
976 editor=editor, extra=extra) |
981 editor=editor, extra=extra) |
|
982 for idfunc in extrapostimport: |
|
983 extrapostimportmap[idfunc](repo[n]) |
977 finally: |
984 finally: |
978 repo.ui.restoreconfig(allowemptyback) |
985 repo.ui.restoreconfig(allowemptyback) |
979 dsguard.close() |
986 dsguard.close() |
980 else: |
987 else: |
981 if opts.get('exact') or opts.get('import_branch'): |
988 if opts.get('exact') or opts.get('import_branch'): |