annotate tests/test-split.t @ 2489:84a8219a2f9a

template: add the obsfate template Reuse _getobsoletefate and nextvisiblesuccessors to easily get the obsolescence fate of any node. The limitation is that obsfate is as precise as these two functions, which is not great for nextvisiblesuccessors.
author Boris Feld <boris.feld@octobus.net>
date Fri, 26 May 2017 13:28:49 +0200
parents 9f42f819267b
children bfc563aaac2a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
1 test of the split command
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
2 -----------------------
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
3
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
4 $ cat >> $HGRCPATH <<EOF
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
5 > [defaults]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
6 > amend=-d "0 0"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
7 > fold=-d "0 0"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
8 > split=-d "0 0"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
9 > amend=-d "0 0"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
10 > [web]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
11 > push_ssl = false
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
12 > allow_push = *
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
13 > [phases]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
14 > publish = False
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
15 > [diff]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
16 > git = 1
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
17 > unified = 0
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
18 > [ui]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
19 > interactive = true
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
20 > [extensions]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
21 > hgext.graphlog=
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
22 > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1738
diff changeset
23 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
24 $ mkcommit() {
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
25 > echo "$1" > "$1"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
26 > hg add "$1"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
27 > hg ci -m "add $1"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
28 > }
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
29
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
30
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
31 Basic case, split a head
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
32 $ hg init testsplit
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
33 $ cd testsplit
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
34 $ mkcommit _a
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
35 $ mkcommit _b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
36 $ mkcommit _c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
37 $ mkcommit _d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
38 $ echo "change to a" >> _a
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
39 $ hg amend
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
40 $ hg debugobsolete
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
41 9e84a109b8eb081ad754681ee4b1380d17a3741f aa8f656bb307022172d2648be6fb65322f801225 0 (*) {'user': 'test'} (glob)
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
42 f002b57772d7f09b180c407213ae16d92996a988 0 {9e84a109b8eb081ad754681ee4b1380d17a3741f} (*) {'user': 'test'} (glob)
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
43
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
44 To create commits with the number of split
1482
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
45 $ echo 0 > num
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
46 $ cat > editor.sh << '__EOF__'
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
47 > NUM=$(cat num)
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
48 > NUM=`expr "$NUM" + 1`
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
49 > echo "$NUM" > num
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
50 > echo "split$NUM" > "$1"
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
51 > __EOF__
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
52 $ export HGEDITOR="\"sh\" \"editor.sh\""
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
53 $ hg split << EOF
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
54 > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
55 > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
56 > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
57 > n
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
58 > N
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
59 > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
60 > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
61 > EOF
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
62 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
63 reverting _a
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
64 adding _d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
65 diff --git a/_a b/_a
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
66 1 hunks, 1 lines changed
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
67 examine changes to '_a'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
68
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
69 @@ -1,0 +2,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
70 +change to a
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
71 record change 1/2 to '_a'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
72
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
73 diff --git a/_d b/_d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
74 new file mode 100644
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
75 examine changes to '_d'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
76
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
77 @@ -0,0 +1,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
78 +_d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
79 record change 2/2 to '_d'? [Ynesfdaq?] n
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
80
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
81 created new head
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
82 Done splitting? [yN] N
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
83 diff --git a/_d b/_d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
84 new file mode 100644
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
85 examine changes to '_d'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
86
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
87 @@ -0,0 +1,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
88 +_d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
89 record this change to '_d'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
90
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
91 no more change to split
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
92
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
93 $ hg debugobsolete
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
94 9e84a109b8eb081ad754681ee4b1380d17a3741f aa8f656bb307022172d2648be6fb65322f801225 0 (*) {'user': 'test'} (glob)
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
95 f002b57772d7f09b180c407213ae16d92996a988 0 {9e84a109b8eb081ad754681ee4b1380d17a3741f} (*) {'user': 'test'} (glob)
1482
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
96 aa8f656bb307022172d2648be6fb65322f801225 a98b35e86cae589b61892127c5ec1c868e41d910 5410a2352fa3114883327beee89e3085eefac25c 0 (*) {'user': 'test'} (glob)
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
97 $ hg glog
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
98 @ changeset: 7:5410a2352fa3
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
99 | tag: tip
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
100 | user: test
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
101 | date: Thu Jan 01 00:00:00 1970 +0000
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
102 | summary: split2
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
103 |
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
104 o changeset: 6:a98b35e86cae
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
105 | parent: 2:102002290587
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
106 | user: test
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
107 | date: Thu Jan 01 00:00:00 1970 +0000
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
108 | summary: split1
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
109 |
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
110 o changeset: 2:102002290587
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
111 | user: test
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
112 | date: Thu Jan 01 00:00:00 1970 +0000
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
113 | summary: add _c
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
114 |
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
115 o changeset: 1:37445b16603b
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
116 | user: test
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
117 | date: Thu Jan 01 00:00:00 1970 +0000
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
118 | summary: add _b
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
119 |
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
120 o changeset: 0:135f39f4bd78
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
121 user: test
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
122 date: Thu Jan 01 00:00:00 1970 +0000
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
123 summary: add _a
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
124
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
125
1672
1b2efccfa4f3 Spelling: committed
timeless@gmail.com
parents: 1641
diff changeset
126 Cannot split a commit with uncommitted changes
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
127 $ hg up "desc(_c)"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
128 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
129 $ echo "_cd" > _c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
130 $ hg split
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
131 abort: uncommitted changes
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
132 [255]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
133
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
134 Split a revision specified with -r
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
135 $ hg up "desc(_c)" -C
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
136 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
137 $ echo "change to b" >> _b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
138 $ hg amend -m "_cprim"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
139 2 new unstable changesets
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
140 $ hg evolve --all
1482
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
141 move:[6] split1
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
142 atop:[9] _cprim
1482
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
143 move:[7] split2
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
144 atop:[10] split1
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
145 working directory is now at * (glob)
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
146 $ hg log -r "desc(_cprim)" -v -p
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
147 changeset: 9:719157b217ac
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
148 parent: 1:37445b16603b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
149 user: test
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
150 date: Thu Jan 01 00:00:00 1970 +0000
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
151 files: _b _c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
152 description:
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
153 _cprim
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
154
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
155
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
156 diff --git a/_b b/_b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
157 --- a/_b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
158 +++ b/_b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
159 @@ -1,0 +2,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
160 +change to b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
161 diff --git a/_c b/_c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
162 new file mode 100644
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
163 --- /dev/null
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
164 +++ b/_c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
165 @@ -0,0 +1,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
166 +_c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
167
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
168 $ hg split -r "desc(_cprim)" <<EOF
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
169 > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
170 > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
171 > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
172 > n
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
173 > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
174 > EOF
1484
e3484e9632cd split: don't update before it is actually needed
Laurent Charignon <lcharignon@fb.com>
parents: 1483
diff changeset
175 2 files updated, 0 files merged, 2 files removed, 0 files unresolved
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
176 reverting _b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
177 adding _c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
178 diff --git a/_b b/_b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
179 1 hunks, 1 lines changed
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
180 examine changes to '_b'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
181
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
182 @@ -1,0 +2,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
183 +change to b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
184 record change 1/2 to '_b'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
185
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
186 diff --git a/_c b/_c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
187 new file mode 100644
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
188 examine changes to '_c'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
189
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
190 @@ -0,0 +1,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
191 +_c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
192 record change 2/2 to '_c'? [Ynesfdaq?] n
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
193
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
194 created new head
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
195 Done splitting? [yN] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
196
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
197 Stop before splitting the commit completely creates a commit with all the
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
198 remaining changes
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
199
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
200 $ hg debugobsolete
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
201 9e84a109b8eb081ad754681ee4b1380d17a3741f aa8f656bb307022172d2648be6fb65322f801225 0 (*) {'user': 'test'} (glob)
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
202 f002b57772d7f09b180c407213ae16d92996a988 0 {9e84a109b8eb081ad754681ee4b1380d17a3741f} (*) {'user': 'test'} (glob)
1482
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
203 aa8f656bb307022172d2648be6fb65322f801225 a98b35e86cae589b61892127c5ec1c868e41d910 5410a2352fa3114883327beee89e3085eefac25c 0 (*) {'user': 'test'} (glob)
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
204 10200229058723ce8d67f6612c1f6b4f73b1fe73 719157b217acc43d397369a448824ed4c7a302f2 0 (*) {'user': 'test'} (glob)
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
205 5d0c8b0f2d3e5e1ff95f93d7da2ba06650605ab5 0 {10200229058723ce8d67f6612c1f6b4f73b1fe73} (*) {'user': 'test'} (glob)
1482
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
206 a98b35e86cae589b61892127c5ec1c868e41d910 286887947725085e03455d79649197feaef1eb9d 0 (*) {'user': 'test'} (glob)
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
207 5410a2352fa3114883327beee89e3085eefac25c 0b67cee46a7f2ad664f994027e7af95b36ae25fe 0 (*) {'user': 'test'} (glob)
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
208 719157b217acc43d397369a448824ed4c7a302f2 ced8fbcce3a7cd33f0e454d2cd63882ce1b6006b 73309fb98db840ba4ec5ad528346dc6ee0b39dcb 0 (*) {'user': 'test'} (glob)
1483
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
209 $ hg evolve --all
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
210 move:[10] split1
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
211 atop:[13] split4
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
212 move:[11] split2
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
213 atop:[14] split1
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
214 working directory is now at f200e612ac86
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
215 $ hg glog
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
216 @ changeset: 15:f200e612ac86
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
217 | tag: tip
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
218 | user: test
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
219 | date: Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
220 | summary: split2
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
221 |
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
222 o changeset: 14:aec57822a8ff
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
223 | user: test
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
224 | date: Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
225 | summary: split1
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
226 |
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
227 o changeset: 13:73309fb98db8
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
228 | user: test
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
229 | date: Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
230 | summary: split4
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
231 |
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
232 o changeset: 12:ced8fbcce3a7
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
233 | parent: 1:37445b16603b
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
234 | user: test
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
235 | date: Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
236 | summary: split3
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
237 |
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
238 o changeset: 1:37445b16603b
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
239 | user: test
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
240 | date: Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
241 | summary: add _b
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
242 |
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
243 o changeset: 0:135f39f4bd78
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
244 user: test
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
245 date: Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
246 summary: add _a
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
247
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
248
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
249 Split should move bookmarks on the last split successor and preserve the
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
250 active bookmark as active
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
251 $ hg book bookA
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
252 $ hg book bookB
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
253 $ echo "changetofilea" > _a
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
254 $ hg amend
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
255 $ hg book
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
256 bookA 17:39d16b69c75d
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
257 * bookB 17:39d16b69c75d
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
258 $ hg glog -r "14::"
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
259 @ changeset: 17:39d16b69c75d
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
260 | bookmark: bookA
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
261 | bookmark: bookB
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
262 | tag: tip
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
263 | parent: 14:aec57822a8ff
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
264 | user: test
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
265 | date: Thu Jan 01 00:00:00 1970 +0000
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
266 | summary: split2
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
267 |
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
268 o changeset: 14:aec57822a8ff
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
269 | user: test
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
270 ~ date: Thu Jan 01 00:00:00 1970 +0000
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
271 summary: split1
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
272
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
273 $ hg split <<EOF
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
274 > y
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
275 > y
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
276 > n
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
277 > y
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
278 > EOF
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
279 (leaving bookmark bookB)
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
280 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
281 reverting _a
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
282 adding _d
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
283 diff --git a/_a b/_a
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
284 1 hunks, 2 lines changed
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
285 examine changes to '_a'? [Ynesfdaq?] y
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
286
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
287 @@ -1,2 +1,1 @@
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
288 -_a
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
289 -change to a
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
290 +changetofilea
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
291 record change 1/2 to '_a'? [Ynesfdaq?] y
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
292
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
293 diff --git a/_d b/_d
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
294 new file mode 100644
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
295 examine changes to '_d'? [Ynesfdaq?] n
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
296
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
297 created new head
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
298 Done splitting? [yN] y
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
299 $ hg glog -r "14::"
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
300 @ changeset: 19:a2b5c9d9b362
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
301 | bookmark: bookA
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
302 | bookmark: bookB
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
303 | tag: tip
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
304 | user: test
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
305 | date: Thu Jan 01 00:00:00 1970 +0000
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
306 | summary: split6
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
307 |
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
308 o changeset: 18:bf3402785e72
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
309 | parent: 14:aec57822a8ff
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
310 | user: test
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
311 | date: Thu Jan 01 00:00:00 1970 +0000
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
312 | summary: split5
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
313 |
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
314 o changeset: 14:aec57822a8ff
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
315 | user: test
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
316 ~ date: Thu Jan 01 00:00:00 1970 +0000
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
317 summary: split1
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
318
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
319 $ hg book
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
320 bookA 19:a2b5c9d9b362
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
321 * bookB 19:a2b5c9d9b362
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
322
1598
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
323 Lastest revision is selected if multiple are given to -r
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
324 $ hg split -r "desc(_a)::"
1598
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
325 (leaving bookmark bookB)
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
326 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
327 adding _d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
328 diff --git a/_d b/_d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
329 new file mode 100644
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
330 examine changes to '_d'? [Ynesfdaq?] abort: response expected
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
331 [255]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
332
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
333 Cannot split a commit that is not a head if instability is not allowed
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
334 $ cat >> $HGRCPATH <<EOF
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
335 > [experimental]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
336 > evolution=createmarkers
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
337 > evolutioncommands=split
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
338 > EOF
1483
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
339 $ hg split -r "desc(split3)"
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
340 abort: cannot split commit: ced8fbcce3a7 not a head
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
341 [255]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
342
1598
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
343 Changing evolution level to createmarkers
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
344 $ echo "[experimental]" >> $HGRCPATH
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
345 $ echo "evolution=createmarkers" >> $HGRCPATH
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
346
1598
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
347 Running split without any revision operates on the parent of the working copy
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
348 $ hg split << EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
349 > q
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
350 > EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
351 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
352 adding _d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
353 diff --git a/_d b/_d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
354 new file mode 100644
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
355 examine changes to '_d'? [Ynesfdaq?] q
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
356
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
357 abort: user quit
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
358 [255]
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
359
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
360 Running split with tip revision, specified as unnamed argument
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
361 $ hg split . << EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
362 > q
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
363 > EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
364 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
365 adding _d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
366 diff --git a/_d b/_d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
367 new file mode 100644
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
368 examine changes to '_d'? [Ynesfdaq?] q
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
369
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
370 abort: user quit
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
371 [255]
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
372
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
373 Running split with both unnamed and named revision arguments shows an error msg
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
374 $ hg split . --rev .^ << EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
375 > q
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
376 > EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
377 abort: more than one revset is given
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
378 (use either `hg split <rs>` or `hg split --rev <rs>`, not both)
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
379 [255]
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
380
1738
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
381 Split empty commit (issue5191)
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
382 $ hg branch new-branch
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
383 marked working directory as branch new-branch
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
384 (branches are permanent and global, did you want a bookmark?)
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
385 $ hg commit -m "empty"
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
386 $ hg split
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
387 0 files updated, 0 files merged, 0 files removed, 0 files unresolved