annotate tests/test-evolve-wdir.t @ 5729:3a1e07c27e4a

divergence-resolution: remove explicite hash in some command This make them more robust to hash change.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 22 Jan 2021 04:54:51 +0100
parents 272094174185
children 053f1fc12545 c5dfbbe4363d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5439
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
1 ===============================================
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
2 Testing evolution of obsolete working directory
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
3 ===============================================
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
4
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
5 Pulling changes from other repos can make your working directory parent (wdir)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
6 obsolete, most probably because now it has a new successor. But there are
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
7 other cases as well where it might be pruned with no successors or split
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
8 in multiple changesets etc.
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
9
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
10 This test file deals with all the possible cases for the evolution from an
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
11 obsolete working directory parent.
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
12
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
13 .. Case A: obsolete wdp with single successor
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
14 .. Resolution : simply update to the successor
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
15 ..
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
16 .. Case B: obsolete wdp with no successor (simply pruned)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
17 .. Resolution : update to a not-dead ancestor
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
18 ..
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
19 .. Case C: obsolete wdp with multiple successor (divergence rewriting)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
20 .. Resolution : #TODO: not handled yet
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
21 ..
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
22 .. Case D: obsolete wdp with multiple successor (split rewriting)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
23 .. Resolution : #TODO: not handled yet
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
24
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
25 A. Obsolete wdp with single successor
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
26 -------------------------------------
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
27
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
28 Setup
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
29 $ . $TESTDIR/testlib/common.sh
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
30 $ cat >> $HGRCPATH <<EOF
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
31 > [extensions]
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
32 > evolve=
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
33 > rebase=
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
34 > [alias]
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
35 > glog = log --graph --template "{rev}:{node|short} ({phase}): {desc|firstline} {if(troubles, '[{troubles}]')}\n"
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
36 > EOF
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
37
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
38 $ hg init repo
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
39 $ cd repo
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
40 $ mkcommit c_A
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
41 $ mkcommit c_B
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
42 $ hg amend -m "u_B"
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
43 $ hg up -r 'desc(c_B)' --hidden
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
44 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
45 updated to hidden changeset 707ee88b2870
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
46 (hidden revision '707ee88b2870' was rewritten as: 9bf151312dec)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
47 working directory parent is obsolete! (707ee88b2870)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
48 (use 'hg evolve' to update to its successor: 9bf151312dec)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
49
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
50 $ hg evolve
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
51 update:[2] u_B
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
52 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
53 working directory is now at 9bf151312dec
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
54 $ hg glog
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
55 @ 2:9bf151312dec (draft): u_B
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
56 |
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
57 o 0:9f0188af4c58 (draft): c_A
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
58
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
59
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
60 B. Obsolete wdp with no successor
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
61 ---------------------------------
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
62
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
63 $ hg prune .
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
64 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
65 working directory is now at 9f0188af4c58
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
66 1 changesets pruned
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
67 $ hg up -r 'desc(c_B)' --hidden
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
68 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
69 updated to hidden changeset 707ee88b2870
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
70 (hidden revision '707ee88b2870' is pruned)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
71 working directory parent is obsolete! (707ee88b2870)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
72 (use 'hg evolve' to update to its parent successor)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
73
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
74 $ hg evolve
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
75 update:[0] c_A
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
76 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
77 working directory is now at 9f0188af4c58
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
78 $ hg glog
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
79 @ 0:9f0188af4c58 (draft): c_A
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
80
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
81
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
82 C. Obsolete wdp with multiple successor (divergence rewriting)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
83 ---------------------------------------------------------------
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
84
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
85 $ hg metaedit -r 'desc(u_B)' -d '0 1' --hidden
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
86 $ hg metaedit -r 'desc(c_B)' -d '0 1' --hidden
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
87 2 new content-divergent changesets
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
88 $ hg up -r 'min(desc(c_B))' --hidden
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
89 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
90 updated to hidden changeset 707ee88b2870
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
91 (hidden revision '707ee88b2870' has diverged)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
92 working directory parent is obsolete! (707ee88b2870)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
93 (707ee88b2870 has diverged, use 'hg evolve --list --content-divergent' to resolve the issue)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
94
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
95 $ hg evolve
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
96 parent is obsolete with multiple successors:
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
97 [3] u_B
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
98 [4] c_B
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
99 [2]
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
100
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
101 $ hg glog
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
102 * 4:39e54eb7aa3c (draft): c_B [content-divergent]
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
103 |
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
104 | * 3:90624b574289 (draft): u_B [content-divergent]
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
105 |/
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
106 | @ 1:707ee88b2870 (draft): c_B
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
107 |/
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
108 o 0:9f0188af4c58 (draft): c_A
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
109
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
110
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
111 D. Obsolete wdp with multiple successor (split rewriting)
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
112 ----------------------------------------------------------
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
113
272094174185 test-obsolete: move a divergence related test from the main test
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff changeset
114 #TODO: yet to write tests for this case