Mercurial > hg
annotate tests/test-fix-topology.t @ 45774:450e17e59603
commit: leverage cmdutil.check_incompatible_arguments()
Differential Revision: https://phab.mercurial-scm.org/D9218
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 15 Oct 2020 22:23:02 -0700 |
parents | 04de8a1ec08f |
children | 15a98880cc07 |
rev | line source |
---|---|
37560
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
1 A script that implements uppercasing all letters in a file. |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
2 |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
3 $ UPPERCASEPY="$TESTTMP/uppercase.py" |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
4 $ cat > $UPPERCASEPY <<EOF |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
5 > import sys |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
6 > from mercurial.utils.procutil import setbinary |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
7 > setbinary(sys.stdin) |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
8 > setbinary(sys.stdout) |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
9 > sys.stdout.write(sys.stdin.read().upper()) |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
10 > EOF |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
11 $ TESTLINES="foo\nbar\nbaz\n" |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38420
diff
changeset
|
12 $ printf $TESTLINES | "$PYTHON" $UPPERCASEPY |
37560
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
13 FOO |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
14 BAR |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
15 BAZ |
41ba336d9f1e
fix: use a portable python script instead of sed in test
Danny Hooper <hooper@google.com>
parents:
37183
diff
changeset
|
16 |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
17 Tests for the fix extension's behavior around non-trivial history topologies. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
18 Looks for correct incremental fixing and reproduction of parent/child |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
19 relationships. We indicate fixed file content by uppercasing it. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
20 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
21 $ cat >> $HGRCPATH <<EOF |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
22 > [extensions] |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
23 > fix = |
44574
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
24 > strip = |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
25 > [fix] |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38420
diff
changeset
|
26 > uppercase-whole-file:command="$PYTHON" $UPPERCASEPY |
40533
2ecf5c24d0cd
fix: rename :fileset subconfig to :pattern
Danny Hooper <hooper@google.com>
parents:
39707
diff
changeset
|
27 > uppercase-whole-file:pattern=set:** |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
28 > EOF |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
29 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
30 This tests the only behavior that should really be affected by obsolescence, so |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
31 we'll test it with evolution off and on. This only changes the revision |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
32 numbers, if all is well. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
33 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
34 #testcases obsstore-off obsstore-on |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
35 #if obsstore-on |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
36 $ cat >> $HGRCPATH <<EOF |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
37 > [experimental] |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
38 > evolution.createmarkers=True |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
39 > evolution.allowunstable=True |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
40 > EOF |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
41 #endif |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
42 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
43 Setting up the test topology. Scroll down to see the graph produced. We make it |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
44 clear which files were modified in each revision. It's enough to test at the |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
45 file granularity, because that demonstrates which baserevs were diffed against. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
46 The computation of changed lines is orthogonal and tested separately. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
47 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
48 $ hg init repo |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
49 $ cd repo |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
50 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
51 $ printf "aaaa\n" > a |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
52 $ hg commit -Am "change A" |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
53 adding a |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
54 $ printf "bbbb\n" > b |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
55 $ hg commit -Am "change B" |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
56 adding b |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
57 $ printf "cccc\n" > c |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
58 $ hg commit -Am "change C" |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
59 adding c |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
60 $ hg checkout 0 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
61 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
62 $ printf "dddd\n" > d |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
63 $ hg commit -Am "change D" |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
64 adding d |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
65 created new head |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
66 $ hg merge -r 2 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
67 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
68 (branch merge, don't forget to commit) |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
69 $ printf "eeee\n" > e |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
70 $ hg commit -Am "change E" |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
71 adding e |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
72 $ hg checkout 0 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
73 0 files updated, 0 files merged, 4 files removed, 0 files unresolved |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
74 $ printf "ffff\n" > f |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
75 $ hg commit -Am "change F" |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
76 adding f |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
77 created new head |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
78 $ hg checkout 0 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
79 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
80 $ printf "gggg\n" > g |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
81 $ hg commit -Am "change G" |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
82 adding g |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
83 created new head |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
84 $ hg merge -r 5 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
85 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
86 (branch merge, don't forget to commit) |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
87 $ printf "hhhh\n" > h |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
88 $ hg commit -Am "change H (child of b53d63e816fb and 0e49f92ee6e9)" |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
89 adding h |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
90 $ hg merge -r 4 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
91 4 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
92 (branch merge, don't forget to commit) |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
93 $ printf "iiii\n" > i |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
94 $ hg commit -Am "change I" |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
95 adding i |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
96 $ hg checkout 2 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
97 0 files updated, 0 files merged, 6 files removed, 0 files unresolved |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
98 $ printf "jjjj\n" > j |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
99 $ hg commit -Am "change J (child of 7f371349286e)" |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
100 adding j |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
101 created new head |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
102 $ hg checkout 7 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
103 3 files updated, 0 files merged, 3 files removed, 0 files unresolved |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
104 $ printf "kkkk\n" > k |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
105 $ hg add |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
106 adding k |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
107 |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
108 $ hg log --graph --template '{rev}:{node|short} {desc}\n' |
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
109 o 9:884041ccc490 change J (child of 7f371349286e) |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
110 | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
111 | o 8:b7c772105fd2 change I |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
112 | |\ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
113 | | @ 7:4e7b9312dad2 change H (child of b53d63e816fb and 0e49f92ee6e9) |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
114 | | |\ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
115 | | | o 6:0e49f92ee6e9 change G |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
116 | | | | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
117 | | o | 5:b53d63e816fb change F |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
118 | | |/ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
119 | o | 4:ddad58af5e51 change E |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
120 |/| | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
121 | o | 3:c015ebfd2bfe change D |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
122 | |/ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
123 o | 2:7f371349286e change C |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
124 | | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
125 o | 1:388fdd33fea0 change B |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
126 |/ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
127 o 0:a55a84d97a24 change A |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
128 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
129 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
130 Fix all but the root revision and its four children. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
131 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
132 $ hg fix -r '2|4|7|8|9' --working-dir |
44558
ea40fea992e0
tests: simplify test-fix-topology.t slightly by using a `(case !)`
Martin von Zweigbergk <martinvonz@google.com>
parents:
40533
diff
changeset
|
133 saved backup bundle to * (glob) (obsstore-off !) |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
134 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
135 The five revisions remain, but the other revisions were fixed and replaced. All |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
136 parent pointers have been accurately set to reproduce the previous topology |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
137 (though it is rendered in a slightly different order now). |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
138 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
139 #if obsstore-on |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
140 $ hg log --graph --template '{rev}:{node|short} {desc}\n' |
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
141 o 14:d8d0e7974598 change J (child of 89de0da1d5da) |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
142 | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
143 | o 13:4fc0b354461e change I |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
144 | |\ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
145 | | @ 12:1c45f3923443 change H (child of b53d63e816fb and 0e49f92ee6e9) |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
146 | | |\ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
147 | o | | 11:d75754455722 change E |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
148 |/| | | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
149 o | | | 10:89de0da1d5da change C |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
150 | | | | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
151 | | | o 6:0e49f92ee6e9 change G |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
152 | | | | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
153 | | o | 5:b53d63e816fb change F |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
154 | | |/ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
155 | o / 3:c015ebfd2bfe change D |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
156 | |/ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
157 o / 1:388fdd33fea0 change B |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
158 |/ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
159 o 0:a55a84d97a24 change A |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
160 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
161 $ C=10 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
162 $ E=11 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
163 $ H=12 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
164 $ I=13 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
165 $ J=14 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
166 #else |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
167 $ hg log --graph --template '{rev}:{node|short} {desc}\n' |
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
168 o 9:d8d0e7974598 change J (child of 89de0da1d5da) |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
169 | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
170 | o 8:4fc0b354461e change I |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
171 | |\ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
172 | | @ 7:1c45f3923443 change H (child of b53d63e816fb and 0e49f92ee6e9) |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
173 | | |\ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
174 | o | | 6:d75754455722 change E |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
175 |/| | | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
176 o | | | 5:89de0da1d5da change C |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
177 | | | | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
178 | | | o 4:0e49f92ee6e9 change G |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
179 | | | | |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
180 | | o | 3:b53d63e816fb change F |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
181 | | |/ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
182 | o / 2:c015ebfd2bfe change D |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
183 | |/ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
184 o / 1:388fdd33fea0 change B |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
185 |/ |
45713
04de8a1ec08f
fix: update commit hash references in the new commits
Matt Harbison <matt_harbison@yahoo.com>
parents:
44574
diff
changeset
|
186 o 0:a55a84d97a24 change A |
37183
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
187 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
188 $ C=5 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
189 $ E=6 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
190 $ H=7 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
191 $ I=8 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
192 $ J=9 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
193 #endif |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
194 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
195 Change C is a root of the set being fixed, so all we fix is what has changed |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
196 since its parent. That parent, change B, is its baserev. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
197 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
198 $ hg cat -r $C 'set:**' |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
199 aaaa |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
200 bbbb |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
201 CCCC |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
202 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
203 Change E is a merge with only one parent being fixed. Its baserevs are the |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
204 unfixed parent plus the baserevs of the other parent. This evaluates to changes |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
205 B and D. We now have to decide what it means to incrementally fix a merge |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
206 commit. We choose to fix anything that has changed versus any baserev. Only the |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
207 undisturbed content of the common ancestor, change A, is unfixed. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
208 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
209 $ hg cat -r $E 'set:**' |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
210 aaaa |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
211 BBBB |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
212 CCCC |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
213 DDDD |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
214 EEEE |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
215 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
216 Change H is a merge with neither parent being fixed. This is essentially |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
217 equivalent to the previous case because there is still only one baserev for |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
218 each parent of the merge. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
219 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
220 $ hg cat -r $H 'set:**' |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
221 aaaa |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
222 FFFF |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
223 GGGG |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
224 HHHH |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
225 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
226 Change I is a merge that has four baserevs; two from each parent. We handle |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
227 multiple baserevs in the same way regardless of how many came from each parent. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
228 So, fixing change H will fix any files that were not exactly the same in each |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
229 baserev. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
230 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
231 $ hg cat -r $I 'set:**' |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
232 aaaa |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
233 BBBB |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
234 CCCC |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
235 DDDD |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
236 EEEE |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
237 FFFF |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
238 GGGG |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
239 HHHH |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
240 IIII |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
241 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
242 Change J is a simple case with one baserev, but its baserev is not its parent, |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
243 change C. Its baserev is its grandparent, change B. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
244 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
245 $ hg cat -r $J 'set:**' |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
246 aaaa |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
247 bbbb |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
248 CCCC |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
249 JJJJ |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
250 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
251 The working copy was dirty, so it is treated much like a revision. The baserevs |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
252 for the working copy are inherited from its parent, change H, because it is |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
253 also being fixed. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
254 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
255 $ cat * |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
256 aaaa |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
257 FFFF |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
258 GGGG |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
259 HHHH |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
260 KKKK |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
261 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
262 Change A was never a baserev because none of its children were to be fixed. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
263 |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
264 $ cd .. |
ded5ea279a93
fix: new extension for automatically modifying file contents
Danny Hooper <hooper@google.com>
parents:
diff
changeset
|
265 |
44574
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
266 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
267 Test the --source option. We only do this with obsstore on to avoid duplicating |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
268 test code. We rely on the other tests to prove that obsolescence is not an |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
269 important factor here. |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
270 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
271 #if obsstore-on |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
272 $ hg init source-arg |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
273 $ cd source-arg |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
274 $ printf "aaaa\n" > a |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
275 $ hg commit -Am "change A" |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
276 adding a |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
277 $ printf "bbbb\n" > b |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
278 $ hg commit -Am "change B" |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
279 adding b |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
280 $ printf "cccc\n" > c |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
281 $ hg commit -Am "change C" |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
282 adding c |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
283 $ hg checkout 0 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
284 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
285 $ printf "dddd\n" > d |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
286 $ hg commit -Am "change D" |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
287 adding d |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
288 created new head |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
289 $ hg log --graph --template '{rev} {desc}\n' |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
290 @ 3 change D |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
291 | |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
292 | o 2 change C |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
293 | | |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
294 | o 1 change B |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
295 |/ |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
296 o 0 change A |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
297 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
298 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
299 Test passing 'wdir()' to --source |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
300 $ printf "xxxx\n" > x |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
301 $ hg add x |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
302 $ hg fix -s 'wdir()' |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
303 $ cat * |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
304 aaaa |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
305 dddd |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
306 XXXX |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
307 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
308 Test passing '.' to --source |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
309 $ printf "xxxx\n" > x |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
310 $ hg fix -s . |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
311 $ hg log --graph --template '{rev} {desc}\n' |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
312 @ 4 change D |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
313 | |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
314 | o 2 change C |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
315 | | |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
316 | o 1 change B |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
317 |/ |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
318 o 0 change A |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
319 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
320 $ cat * |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
321 aaaa |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
322 DDDD |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
323 XXXX |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
324 $ hg strip -qf 4 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
325 $ hg co -q 3 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
326 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
327 Test passing other branch to --source |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
328 $ printf "xxxx\n" > x |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
329 $ hg add x |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
330 $ hg fix -s 2 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
331 $ hg log --graph --template '{rev} {desc}\n' |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
332 o 4 change C |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
333 | |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
334 | @ 3 change D |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
335 | | |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
336 o | 1 change B |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
337 |/ |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
338 o 0 change A |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
339 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
340 $ hg cat -r 4 b c |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
341 bbbb |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
342 CCCC |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
343 $ cat * |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
344 aaaa |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
345 dddd |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
346 xxxx |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
347 $ hg strip -qf 4 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
348 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
349 Test passing multiple revisions to --source |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
350 $ hg fix -s '2 + .' |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
351 $ hg log --graph --template '{rev} {desc}\n' |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
352 @ 5 change D |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
353 | |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
354 | o 4 change C |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
355 | | |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
356 | o 1 change B |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
357 |/ |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
358 o 0 change A |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
359 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
360 $ hg cat -r 4 b c |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
361 bbbb |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
362 CCCC |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
363 $ cat * |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
364 aaaa |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
365 DDDD |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
366 XXXX |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
367 |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
368 $ cd .. |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
369 #endif |
5205b46bd887
fix: add a -s option to format a revision and its descendants
Martin von Zweigbergk <martinvonz@google.com>
parents:
44560
diff
changeset
|
370 |
37595
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
371 The --all flag should fix anything that wouldn't cause a problem if you fixed |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
372 it, including the working copy. Obsolete revisions are not fixed because that |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
373 could cause divergence. Public revisions would cause an abort because they are |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
374 immutable. We can fix orphans because their successors are still just orphans |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
375 of the original obsolete parent. When obsolesence is off, we're just fixing and |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
376 replacing anything that isn't public. |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
377 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
378 $ hg init fixall |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
379 $ cd fixall |
44560
40f4a75938ba
fix: disallow `hg fix --all --working-dir`
Martin von Zweigbergk <martinvonz@google.com>
parents:
44558
diff
changeset
|
380 $ hg fix --all --working-dir |
40f4a75938ba
fix: disallow `hg fix --all --working-dir`
Martin von Zweigbergk <martinvonz@google.com>
parents:
44558
diff
changeset
|
381 abort: cannot specify both --working-dir and --all |
40f4a75938ba
fix: disallow `hg fix --all --working-dir`
Martin von Zweigbergk <martinvonz@google.com>
parents:
44558
diff
changeset
|
382 [255] |
37595
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
383 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
384 #if obsstore-on |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
385 $ printf "one\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
386 $ hg commit -Aqm "first" |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
387 $ hg phase --public |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
388 $ hg tag --local root |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
389 $ printf "two\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
390 $ hg commit -m "second" |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
391 $ printf "three\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
392 $ hg commit -m "third" --secret |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
393 $ hg tag --local secret |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
394 $ hg checkout root |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
395 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
396 $ printf "four\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
397 $ hg commit -m "fourth" |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
398 created new head |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
399 $ printf "five\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
400 $ hg commit -m "fifth" |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
401 $ hg tag --local replaced |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
402 $ printf "six\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
403 $ hg commit -m "sixth" |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
404 $ hg checkout replaced |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
405 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
406 $ printf "seven\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
407 $ hg commit --amend |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
408 1 new orphan changesets |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
409 $ hg checkout secret |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
410 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
411 $ printf "uncommitted\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
412 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
413 $ hg log --graph --template '{rev} {desc} {phase}\n' |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
414 o 6 fifth draft |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
415 | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
416 | * 5 sixth draft |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
417 | | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
418 | x 4 fifth draft |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
419 |/ |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
420 o 3 fourth draft |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
421 | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
422 | @ 2 third secret |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
423 | | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
424 | o 1 second draft |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
425 |/ |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
426 o 0 first public |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
427 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
428 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
429 $ hg fix --all |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
430 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
431 $ hg log --graph --template '{rev} {desc}\n' -r 'sort(all(), topo)' --hidden |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
432 o 11 fifth |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
433 | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
434 o 9 fourth |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
435 | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
436 | @ 8 third |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
437 | | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
438 | o 7 second |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
439 |/ |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
440 | * 10 sixth |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
441 | | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
442 | | x 5 sixth |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
443 | |/ |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
444 | x 4 fifth |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
445 | | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
446 | | x 6 fifth |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
447 | |/ |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
448 | x 3 fourth |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
449 |/ |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
450 | x 2 third |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
451 | | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
452 | x 1 second |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
453 |/ |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
454 o 0 first |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
455 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
456 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
457 $ hg cat -r 7 foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
458 TWO |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
459 $ hg cat -r 8 foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
460 THREE |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
461 $ hg cat -r 9 foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
462 FOUR |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
463 $ hg cat -r 10 foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
464 SIX |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
465 $ hg cat -r 11 foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
466 SEVEN |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
467 $ cat foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
468 UNCOMMITTED |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
469 #else |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
470 $ printf "one\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
471 $ hg commit -Aqm "first" |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
472 $ hg phase --public |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
473 $ hg tag --local root |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
474 $ printf "two\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
475 $ hg commit -m "second" |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
476 $ printf "three\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
477 $ hg commit -m "third" --secret |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
478 $ hg tag --local secret |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
479 $ hg checkout root |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
480 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
481 $ printf "four\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
482 $ hg commit -m "fourth" |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
483 created new head |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
484 $ printf "uncommitted\n" > foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
485 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
486 $ hg log --graph --template '{rev} {desc} {phase}\n' |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
487 @ 3 fourth draft |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
488 | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
489 | o 2 third secret |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
490 | | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
491 | o 1 second draft |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
492 |/ |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
493 o 0 first public |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
494 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
495 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
496 $ hg fix --all |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
497 saved backup bundle to * (glob) |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
498 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
499 $ hg log --graph --template '{rev} {desc} {phase}\n' |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
500 @ 3 fourth draft |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
501 | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
502 | o 2 third secret |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
503 | | |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
504 | o 1 second draft |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
505 |/ |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
506 o 0 first public |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
507 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
508 $ hg cat -r 0 foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
509 one |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
510 $ hg cat -r 1 foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
511 TWO |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
512 $ hg cat -r 2 foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
513 THREE |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
514 $ hg cat -r 3 foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
515 FOUR |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
516 $ cat foo.whole |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
517 UNCOMMITTED |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
518 #endif |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
519 |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
520 $ cd .. |
e2506748b47f
fix: add --all flag to fix non-public non-obsolete revisions
Danny Hooper <hooper@google.com>
parents:
37560
diff
changeset
|
521 |