##// END OF EJS Templates
test: add testing of checkheads behavior with obsolete...
Pierre-Yves David -
r17546:488e4706 default
parent child Browse files
Show More
@@ -0,0 +1,102 b''
1 Check that obsolete properly strip heads
2 $ cat > obs.py << EOF
3 > import mercurial.obsolete
4 > mercurial.obsolete._enabled = True
5 > EOF
6 $ cat >> $HGRCPATH << EOF
7 > [phases]
8 > # public changeset are not obsolete
9 > publish=false
10 > [ui]
11 > logtemplate='{node|short} ({phase}) {desc|firstline}\n'
12 > [extensions]
13 > graphlog=
14 > EOF
15 $ echo "obs=${TESTTMP}/obs.py" >> $HGRCPATH
16 $ mkcommit() {
17 > echo "$1" > "$1"
18 > hg add "$1"
19 > hg ci -m "add $1"
20 > }
21 $ getid() {
22 > hg id --debug -ir "desc('$1')"
23 > }
24
25
26 $ hg init remote
27 $ cd remote
28 $ mkcommit base
29 $ hg phase --public .
30 $ cd ..
31 $ cp -r remote base
32 $ hg clone remote local
33 updating to branch default
34 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
35 $ cd local
36
37 New head replaces old head
38 ==========================
39
40 setup
41
42 $ mkcommit old
43 $ hg push
44 pushing to $TESTTMP/remote
45 searching for changes
46 adding changesets
47 adding manifests
48 adding file changes
49 added 1 changesets with 1 changes to 1 files
50 $ hg up -q '.^'
51 $ mkcommit new
52 created new head
53 $ hg debugobsolete `getid old` `getid new`
54 $ hg glog --hidden
55 @ 71e3228bffe1 (draft) add new
56 |
57 | x c70b08862e08 (draft) add old
58 |/
59 o b4952fcf48cf (public) add base
60
61 $ cp -r ../remote ../backup1
62
63 old exists remotely as draft. It is obsoleted by new that we now push.
64 Push should not warn about creating new head
65
66 $ hg push
67 pushing to $TESTTMP/remote
68 searching for changes
69 adding changesets
70 adding manifests
71 adding file changes
72 added 1 changesets with 1 changes to 1 files (+1 heads)
73
74 old head is obsolete but replacement in not pushed
75 ==================================================
76
77 setup
78
79 $ rm -fr ../remote
80 $ cp -r ../backup1 ../remote
81 $ hg up -q '.^'
82 $ mkcommit other
83 created new head
84 $ hg glog --hidden
85 @ d7d41ccbd4de (draft) add other
86 |
87 | o 71e3228bffe1 (draft) add new
88 |/
89 | x c70b08862e08 (draft) add old
90 |/
91 o b4952fcf48cf (public) add base
92
93
94 old exists remotely as draft. It is obsoleted by new but we don't push new.
95 Push should abort on new head
96
97 $ hg push -r 'desc("other")'
98 pushing to $TESTTMP/remote
99 searching for changes
100 abort: push creates new remote head d7d41ccbd4de!
101 (did you forget to merge? use push -f to force)
102 [255]
General Comments 0
You need to be logged in to leave comments. Login now