diff tests/test-import.t @ 26561:1f14920a892c

import: allow processing of extra part header during import As we have a way for extension to add more header, we need a way for them to actually process them. We add a basic hook points to alter the changeset (especially extra) before we commit. There would be more to do for a full featured hooking, but this currently fit my needs.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 06 Oct 2015 09:51:24 -0700
parents 2748bf78a5bf
children dd2f5e014806
line wrap: on
line diff
--- a/tests/test-import.t	Tue Oct 06 02:23:21 2015 -0700
+++ b/tests/test-import.t	Tue Oct 06 09:51:24 2015 -0700
@@ -1505,3 +1505,43 @@
   $ hg status -c .
   C a
   C b
+
+Importing some extra header
+===========================
+
+  $ cat > $TESTTMP/parseextra.py <<EOF
+  > import mercurial.patch
+  > import mercurial.cmdutil
+  > 
+  > def processfoo(repo, data, extra, opts):
+  >     if 'foo' in data:
+  >         extra['foo'] = data['foo']
+  > 
+  > mercurial.patch.patchheadermap.append(('Foo', 'foo'))
+  > mercurial.cmdutil.extrapreimport.append('foo')
+  > mercurial.cmdutil.extrapreimportmap['foo'] = processfoo
+  > EOF
+  $ printf "[extensions]\nparseextra=$TESTTMP/parseextra.py" >> $HGRCPATH
+  $ hg up -C tip
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ cat > $TESTTMP/foo.patch <<EOF
+  > # HG changeset patch
+  > # User Rataxes
+  > # Date 0 0
+  > #      Thu Jan 01 00:00:00 1970 +0000
+  > # Foo bar
+  > height
+  > 
+  > --- a/a	Thu Jan 01 00:00:00 1970 +0000
+  > +++ b/a	Wed Oct 07 09:17:44 2015 +0000
+  > @@ -5,3 +5,4 @@
+  >  five
+  >  six
+  >  seven
+  > +heigt
+  > EOF
+  $ hg import $TESTTMP/foo.patch
+  applying $TESTTMP/foo.patch
+  $ hg log --debug -r . | grep extra
+  extra:       branch=default
+  extra:       foo=bar