split: preserve author of the original changeset in the successors
Previously, the new changesets were authored by the default user.
--- a/README Sat Jun 24 13:28:16 2017 +0200
+++ b/README Sun Jun 25 16:37:56 2017 +0200
@@ -125,6 +125,7 @@
-------------------
- obsfate: improve support for advanced template reformating
+ - split: preserve author of the splitted changeset,
6.4.0 -- 2017-06-16
-------------------
--- a/hgext3rd/evolve/__init__.py Sat Jun 24 13:28:16 2017 +0200
+++ b/hgext3rd/evolve/__init__.py Sun Jun 25 16:37:56 2017 +0200
@@ -2694,6 +2694,7 @@
msg += ctx.description()
opts['message'] = msg
opts['edit'] = True
+ opts['user'] = ctx.user()
while haschanges():
pats = ()
cmdutil.dorecord(ui, repo, commands.commit, 'commit', False,
--- a/tests/test-split.t Sat Jun 24 13:28:16 2017 +0200
+++ b/tests/test-split.t Sun Jun 25 16:37:56 2017 +0200
@@ -24,7 +24,7 @@
$ mkcommit() {
> echo "$1" > "$1"
> hg add "$1"
- > hg ci -m "add $1"
+ > hg ci -m "add $1" $2 $3
> }
@@ -33,13 +33,13 @@
$ cd testsplit
$ mkcommit _a
$ mkcommit _b
- $ mkcommit _c
+ $ mkcommit _c --user other-test-user
$ mkcommit _d
$ echo "change to a" >> _a
$ hg amend
$ hg debugobsolete
- 9e84a109b8eb081ad754681ee4b1380d17a3741f aa8f656bb307022172d2648be6fb65322f801225 0 (*) {'ef1': '*', 'user': 'test'} (glob)
- f002b57772d7f09b180c407213ae16d92996a988 0 {9e84a109b8eb081ad754681ee4b1380d17a3741f} (*) {'ef1': '*', 'user': 'test'} (glob)
+ 1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (*) {'ef1': '8', 'user': 'test'} (glob)
+ 06be89dfe2ae447383f30a2984933352757b6fb4 0 {1334a80b33c3f9873edab728fbbcf500eab61d2e} (*) {'ef1': '0', 'user': 'test'} (glob)
To create commits with the number of split
$ echo 0 > num
@@ -91,24 +91,24 @@
no more change to split
$ hg debugobsolete
- 9e84a109b8eb081ad754681ee4b1380d17a3741f aa8f656bb307022172d2648be6fb65322f801225 0 (*) {'ef1': '*', 'user': 'test'} (glob)
- f002b57772d7f09b180c407213ae16d92996a988 0 {9e84a109b8eb081ad754681ee4b1380d17a3741f} (*) {'ef1': '*', 'user': 'test'} (glob)
- aa8f656bb307022172d2648be6fb65322f801225 a98b35e86cae589b61892127c5ec1c868e41d910 5410a2352fa3114883327beee89e3085eefac25c 0 (*) {'ef1': '*', 'user': 'test'} (glob)
+ 1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (*) {'ef1': '8', 'user': 'test'} (glob)
+ 06be89dfe2ae447383f30a2984933352757b6fb4 0 {1334a80b33c3f9873edab728fbbcf500eab61d2e} (*) {'ef1': '0', 'user': 'test'} (glob)
+ d2fe56e71366c2c5376c89960c281395062c0619 2d8abdb827cdf71ca477ef6985d7ceb257c53c1b 033b3f5ae73db67c10de938fb6f26b949aaef172 0 (*) {'ef1': '13', 'user': 'test'} (glob)
$ hg glog
- @ changeset: 7:5410a2352fa3
+ @ changeset: 7:033b3f5ae73d
| tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: split2
|
- o changeset: 6:a98b35e86cae
- | parent: 2:102002290587
+ o changeset: 6:2d8abdb827cd
+ | parent: 2:52149352b372
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: split1
|
- o changeset: 2:102002290587
- | user: test
+ o changeset: 2:52149352b372
+ | user: other-test-user
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: add _c
|
@@ -144,9 +144,9 @@
atop:[10] split1
working directory is now at * (glob)
$ hg log -r "desc(_cprim)" -v -p
- changeset: 9:719157b217ac
+ changeset: 9:b434287e665c
parent: 1:37445b16603b
- user: test
+ user: other-test-user
date: Thu Jan 01 00:00:00 1970 +0000
files: _b _c
description:
@@ -198,40 +198,40 @@
remaining changes
$ hg debugobsolete
- 9e84a109b8eb081ad754681ee4b1380d17a3741f aa8f656bb307022172d2648be6fb65322f801225 0 (*) {'ef1': '*', 'user': 'test'} (glob)
- f002b57772d7f09b180c407213ae16d92996a988 0 {9e84a109b8eb081ad754681ee4b1380d17a3741f} (*) {'ef1': '*', 'user': 'test'} (glob)
- aa8f656bb307022172d2648be6fb65322f801225 a98b35e86cae589b61892127c5ec1c868e41d910 5410a2352fa3114883327beee89e3085eefac25c 0 (*) {'ef1': '*', 'user': 'test'} (glob)
- 10200229058723ce8d67f6612c1f6b4f73b1fe73 719157b217acc43d397369a448824ed4c7a302f2 0 (*) {'ef1': '*', 'user': 'test'} (glob)
- 5d0c8b0f2d3e5e1ff95f93d7da2ba06650605ab5 0 {10200229058723ce8d67f6612c1f6b4f73b1fe73} (*) {'ef1': '*', 'user': 'test'} (glob)
- a98b35e86cae589b61892127c5ec1c868e41d910 286887947725085e03455d79649197feaef1eb9d 0 (*) {'ef1': '*', 'user': 'test'} (glob)
- 5410a2352fa3114883327beee89e3085eefac25c 0b67cee46a7f2ad664f994027e7af95b36ae25fe 0 (*) {'ef1': '*', 'user': 'test'} (glob)
- 719157b217acc43d397369a448824ed4c7a302f2 ced8fbcce3a7cd33f0e454d2cd63882ce1b6006b 73309fb98db840ba4ec5ad528346dc6ee0b39dcb 0 (*) {'ef1': '*', 'user': 'test'} (glob)
+ 1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (*) {'ef1': '8', 'user': 'test'} (glob)
+ 06be89dfe2ae447383f30a2984933352757b6fb4 0 {1334a80b33c3f9873edab728fbbcf500eab61d2e} (*) {'ef1': '0', 'user': 'test'} (glob)
+ d2fe56e71366c2c5376c89960c281395062c0619 2d8abdb827cdf71ca477ef6985d7ceb257c53c1b 033b3f5ae73db67c10de938fb6f26b949aaef172 0 (*) {'ef1': '13', 'user': 'test'} (glob)
+ 52149352b372d39b19127d5bd2d488b1b63f9f85 b434287e665ce757ee5463a965cb3d119ca9e893 0 (*) {'ef1': '9', 'user': 'test'} (glob)
+ 7a4fc25a48a5797bb069563854455aecf738d8f2 0 {52149352b372d39b19127d5bd2d488b1b63f9f85} (*) {'ef1': '0', 'user': 'test'} (glob)
+ 2d8abdb827cdf71ca477ef6985d7ceb257c53c1b e2b4afde39803bd42bb1374b230fca1b1e8cc868 0 (*) {'ef1': '4', 'user': 'test'} (glob)
+ 033b3f5ae73db67c10de938fb6f26b949aaef172 bb5e4f6020c74e7961a51fda635ea9df9b04dda8 0 (*) {'ef1': '4', 'user': 'test'} (glob)
+ b434287e665ce757ee5463a965cb3d119ca9e893 ead2066d1dbf14833fe1069df1b735e4e9468c40 1188c4216eba37f18a1de6558564601d00ff2143 0 (*) {'ef1': '13', 'user': 'test'} (glob)
$ hg evolve --all
move:[10] split1
atop:[13] split4
move:[11] split2
atop:[14] split1
- working directory is now at f200e612ac86
+ working directory is now at d74c6715e706
$ hg glog
- @ changeset: 15:f200e612ac86
+ @ changeset: 15:d74c6715e706
| tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: split2
|
- o changeset: 14:aec57822a8ff
+ o changeset: 14:3f134f739075
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: split1
|
- o changeset: 13:73309fb98db8
- | user: test
+ o changeset: 13:1188c4216eba
+ | user: other-test-user
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: split4
|
- o changeset: 12:ced8fbcce3a7
+ o changeset: 12:ead2066d1dbf
| parent: 1:37445b16603b
- | user: test
+ | user: other-test-user
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: split3
|
@@ -253,19 +253,19 @@
$ echo "changetofilea" > _a
$ hg amend
$ hg book
- bookA 17:39d16b69c75d
- * bookB 17:39d16b69c75d
+ bookA 17:7a6b35779b85
+ * bookB 17:7a6b35779b85
$ hg glog -r "14::"
- @ changeset: 17:39d16b69c75d
+ @ changeset: 17:7a6b35779b85
| bookmark: bookA
| bookmark: bookB
| tag: tip
- | parent: 14:aec57822a8ff
+ | parent: 14:3f134f739075
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: split2
|
- o changeset: 14:aec57822a8ff
+ o changeset: 14:3f134f739075
| user: test
~ date: Thu Jan 01 00:00:00 1970 +0000
summary: split1
@@ -297,7 +297,7 @@
created new head
Done splitting? [yN] y
$ hg glog -r "14::"
- @ changeset: 19:a2b5c9d9b362
+ @ changeset: 19:60ea019b0f8d
| bookmark: bookA
| bookmark: bookB
| tag: tip
@@ -305,20 +305,20 @@
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: split6
|
- o changeset: 18:bf3402785e72
- | parent: 14:aec57822a8ff
+ o changeset: 18:2c7a2e53f23b
+ | parent: 14:3f134f739075
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: split5
|
- o changeset: 14:aec57822a8ff
+ o changeset: 14:3f134f739075
| user: test
~ date: Thu Jan 01 00:00:00 1970 +0000
summary: split1
$ hg book
- bookA 19:a2b5c9d9b362
- * bookB 19:a2b5c9d9b362
+ bookA 19:60ea019b0f8d
+ * bookB 19:60ea019b0f8d
Lastest revision is selected if multiple are given to -r
$ hg split -r "desc(_a)::"
@@ -337,7 +337,7 @@
> evolutioncommands=split
> EOF
$ hg split -r "desc(split3)"
- abort: cannot split commit: ced8fbcce3a7 not a head
+ abort: cannot split commit: ead2066d1dbf not a head
[255]
Changing evolution level to createmarkers