test-push-warn.t
792 lines
| 17.2 KiB
| text/troff
|
Tads3Lexer
/ tests / test-push-warn.t
Martin Geisler
|
r13956 | $ hg init a | ||
Adrian Buehlmann
|
r12279 | $ cd a | ||
$ echo foo > t1 | ||||
$ hg add t1 | ||||
$ hg commit -m "1" | ||||
$ cd .. | ||||
$ hg clone a b | ||||
updating to branch default | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cd a | ||||
$ echo foo > t2 | ||||
$ hg add t2 | ||||
$ hg commit -m "2" | ||||
$ cd ../b | ||||
$ echo foo > t3 | ||||
$ hg add t3 | ||||
$ hg commit -m "3" | ||||
Gregory Szorc
|
r24429 | Specifying a revset that evaluates to null will abort | ||
$ hg push -r '0 & 1' ../a | ||||
pushing to ../a | ||||
abort: specified revisions evaluate to an empty set | ||||
(use different revision arguments) | ||||
[255] | ||||
Adrian Buehlmann
|
r12279 | $ hg push ../a | ||
pushing to ../a | ||||
searching for changes | ||||
Mads Kiilerich
|
r20501 | remote has heads on branch 'default' that are not known locally: 1c9246a22a0a | ||
Adrian Buehlmann
|
r14525 | abort: push creates new remote head 1e108cc5548c! | ||
timeless
|
r29973 | (pull and merge or see 'hg help push' for details about pushing new heads) | ||
Matt Mackall
|
r12316 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
Adrian Buehlmann
|
r12998 | $ hg push --debug ../a | ||
pushing to ../a | ||||
Peter Arrenbrecht
|
r14164 | query 1; heads | ||
Adrian Buehlmann
|
r12998 | searching for changes | ||
Peter Arrenbrecht
|
r14164 | taking quick initial sample | ||
Peter Arrenbrecht
|
r14624 | query 2; still undecided: 1, sample size is: 1 | ||
Peter Arrenbrecht
|
r14164 | 2 total queries | ||
Pierre-Yves David
|
r22019 | listing keys for "phases" | ||
Pierre-Yves David
|
r22239 | checking for updated bookmarks | ||
listing keys for "bookmarks" | ||||
Pierre-Yves David
|
r17293 | listing keys for "bookmarks" | ||
Mads Kiilerich
|
r20501 | remote has heads on branch 'default' that are not known locally: 1c9246a22a0a | ||
Mads Kiilerich
|
r20051 | new remote heads on branch 'default': | ||
1e108cc5548c | ||||
Adrian Buehlmann
|
r14525 | abort: push creates new remote head 1e108cc5548c! | ||
timeless
|
r29973 | (pull and merge or see 'hg help push' for details about pushing new heads) | ||
Adrian Buehlmann
|
r12998 | [255] | ||
Adrian Buehlmann
|
r12279 | $ hg pull ../a | ||
pulling from ../a | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files (+1 heads) | ||||
(run 'hg heads' to see heads, 'hg merge' to merge) | ||||
$ hg push ../a | ||||
pushing to ../a | ||||
searching for changes | ||||
Adrian Buehlmann
|
r14525 | abort: push creates new remote head 1e108cc5548c! | ||
timeless
|
r29973 | (merge or see 'hg help push' for details about pushing new heads) | ||
Matt Mackall
|
r12316 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
$ hg merge | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg commit -m "4" | ||||
$ hg push ../a | ||||
pushing to ../a | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 1 changes to 1 files | ||||
$ cd .. | ||||
$ hg init c | ||||
$ cd c | ||||
$ for i in 0 1 2; do | ||||
> echo $i >> foo | ||||
> hg ci -Am $i | ||||
> done | ||||
adding foo | ||||
$ cd .. | ||||
$ hg clone c d | ||||
updating to branch default | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cd d | ||||
$ for i in 0 1; do | ||||
> hg co -C $i | ||||
> echo d-$i >> foo | ||||
> hg ci -m d-$i | ||||
> done | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
created new head | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
created new head | ||||
$ HGMERGE=true hg merge 3 | ||||
merging foo | ||||
0 files updated, 1 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg ci -m c-d | ||||
Matt Mackall
|
r12365 | $ hg push ../c | ||
Adrian Buehlmann
|
r12279 | pushing to ../c | ||
searching for changes | ||||
Adrian Buehlmann
|
r14525 | abort: push creates new remote head 6346d66eb9f5! | ||
timeless
|
r29973 | (merge or see 'hg help push' for details about pushing new heads) | ||
Matt Mackall
|
r12365 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
Matt Mackall
|
r12365 | $ hg push -r 2 ../c | ||
Adrian Buehlmann
|
r12279 | pushing to ../c | ||
searching for changes | ||||
no changes found | ||||
Matt Mackall
|
r16023 | [1] | ||
Adrian Buehlmann
|
r12279 | |||
Matt Mackall
|
r12365 | $ hg push -r 3 ../c | ||
Adrian Buehlmann
|
r12279 | pushing to ../c | ||
searching for changes | ||||
Adrian Buehlmann
|
r14525 | abort: push creates new remote head a5dda829a167! | ||
timeless
|
r29973 | (merge or see 'hg help push' for details about pushing new heads) | ||
Matt Mackall
|
r12365 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
Adrian Buehlmann
|
r14526 | $ hg push -v -r 3 -r 4 ../c | ||
Adrian Buehlmann
|
r12279 | pushing to ../c | ||
searching for changes | ||||
Mads Kiilerich
|
r20051 | new remote heads on branch 'default': | ||
a5dda829a167 | ||||
ee8fbc7a0295 | ||||
Adrian Buehlmann
|
r14525 | abort: push creates new remote head a5dda829a167! | ||
timeless
|
r29973 | (merge or see 'hg help push' for details about pushing new heads) | ||
Matt Mackall
|
r12365 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
Adrian Buehlmann
|
r14526 | $ hg push -v -f -r 3 -r 4 ../c | ||
Adrian Buehlmann
|
r12279 | pushing to ../c | ||
searching for changes | ||||
Adrian Buehlmann
|
r14526 | 2 changesets found | ||
Mads Kiilerich
|
r23748 | uncompressed size of bundle content: | ||
Pierre-Yves David
|
r30211 | 352 (changelog) | ||
Martin von Zweigbergk
|
r27752 | 326 (manifests) | ||
253 foo | ||||
Adrian Buehlmann
|
r12279 | adding changesets | ||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 2 changes to 1 files (+2 heads) | ||||
Matt Mackall
|
r12365 | $ hg push -r 5 ../c | ||
Adrian Buehlmann
|
r12279 | pushing to ../c | ||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files (-1 heads) | ||||
$ hg in ../c | ||||
comparing with ../c | ||||
searching for changes | ||||
no changes found | ||||
Matt Mackall
|
r12316 | [1] | ||
Adrian Buehlmann
|
r12279 | |||
Martin Geisler
|
r12399 | Issue450: push -r warns about remote head creation even if no heads | ||
will be created | ||||
Adrian Buehlmann
|
r12279 | |||
$ hg init ../e | ||||
Matt Mackall
|
r12365 | $ hg push -r 0 ../e | ||
Adrian Buehlmann
|
r12279 | pushing to ../e | ||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
Matt Mackall
|
r12365 | $ hg push -r 1 ../e | ||
Adrian Buehlmann
|
r12279 | pushing to ../e | ||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
$ cd .. | ||||
Martin Geisler
|
r12399 | Issue736: named branches are not considered for detection of | ||
unmerged heads in "hg push" | ||||
Adrian Buehlmann
|
r12279 | |||
$ hg init f | ||||
$ cd f | ||||
$ hg -q branch a | ||||
$ echo 0 > foo | ||||
$ hg -q ci -Am 0 | ||||
$ echo 1 > foo | ||||
$ hg -q ci -m 1 | ||||
$ hg -q up 0 | ||||
$ echo 2 > foo | ||||
$ hg -q ci -m 2 | ||||
$ hg -q up 0 | ||||
$ hg -q branch b | ||||
$ echo 3 > foo | ||||
$ hg -q ci -m 3 | ||||
$ cd .. | ||||
$ hg -q clone f g | ||||
$ cd g | ||||
Push on existing branch and new branch: | ||||
$ hg -q up 1 | ||||
$ echo 4 > foo | ||||
$ hg -q ci -m 4 | ||||
$ hg -q up 0 | ||||
$ echo 5 > foo | ||||
$ hg -q branch c | ||||
$ hg -q ci -m 5 | ||||
Matt Mackall
|
r12365 | $ hg push ../f | ||
Adrian Buehlmann
|
r12279 | pushing to ../f | ||
searching for changes | ||||
abort: push creates new remote branches: c! | ||||
(use 'hg push --new-branch' to create new remote branches) | ||||
Matt Mackall
|
r12365 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
Matt Mackall
|
r12365 | $ hg push -r 4 -r 5 ../f | ||
Adrian Buehlmann
|
r12279 | pushing to ../f | ||
searching for changes | ||||
abort: push creates new remote branches: c! | ||||
(use 'hg push --new-branch' to create new remote branches) | ||||
Matt Mackall
|
r12365 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
Multiple new branches: | ||||
$ hg -q branch d | ||||
$ echo 6 > foo | ||||
$ hg -q ci -m 6 | ||||
Matt Mackall
|
r12365 | $ hg push ../f | ||
Adrian Buehlmann
|
r12279 | pushing to ../f | ||
searching for changes | ||||
abort: push creates new remote branches: c, d! | ||||
(use 'hg push --new-branch' to create new remote branches) | ||||
Matt Mackall
|
r12365 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
Matt Mackall
|
r12365 | $ hg push -r 4 -r 6 ../f | ||
Adrian Buehlmann
|
r12279 | pushing to ../f | ||
searching for changes | ||||
abort: push creates new remote branches: c, d! | ||||
(use 'hg push --new-branch' to create new remote branches) | ||||
Matt Mackall
|
r12365 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
$ cd ../g | ||||
Fail on multiple head push: | ||||
$ hg -q up 1 | ||||
$ echo 7 > foo | ||||
$ hg -q ci -m 7 | ||||
Matt Mackall
|
r12365 | $ hg push -r 4 -r 7 ../f | ||
Adrian Buehlmann
|
r12279 | pushing to ../f | ||
searching for changes | ||||
Adrian Buehlmann
|
r14525 | abort: push creates new remote head 0b715ef6ff8f on branch 'a'! | ||
timeless
|
r29973 | (merge or see 'hg help push' for details about pushing new heads) | ||
Matt Mackall
|
r12365 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
Push replacement head on existing branches: | ||||
$ hg -q up 3 | ||||
$ echo 8 > foo | ||||
$ hg -q ci -m 8 | ||||
Matt Mackall
|
r12365 | $ hg push -r 7 -r 8 ../f | ||
Adrian Buehlmann
|
r12279 | pushing to ../f | ||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 2 changes to 1 files | ||||
Merge of branch a to other branch b followed by unrelated push | ||||
on branch a: | ||||
$ hg -q up 7 | ||||
$ HGMERGE=true hg -q merge 8 | ||||
$ hg -q ci -m 9 | ||||
$ hg -q up 8 | ||||
$ echo 10 > foo | ||||
$ hg -q ci -m 10 | ||||
Matt Mackall
|
r12365 | $ hg push -r 9 ../f | ||
Adrian Buehlmann
|
r12279 | pushing to ../f | ||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files (-1 heads) | ||||
Matt Mackall
|
r12365 | $ hg push -r 10 ../f | ||
Adrian Buehlmann
|
r12279 | pushing to ../f | ||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files (+1 heads) | ||||
Cheating the counting algorithm: | ||||
$ hg -q up 9 | ||||
$ HGMERGE=true hg -q merge 2 | ||||
$ hg -q ci -m 11 | ||||
$ hg -q up 1 | ||||
$ echo 12 > foo | ||||
$ hg -q ci -m 12 | ||||
Matt Mackall
|
r12365 | $ hg push -r 11 -r 12 ../f | ||
Adrian Buehlmann
|
r12279 | pushing to ../f | ||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 2 changes to 1 files | ||||
Failed push of new named branch: | ||||
$ echo 12 > foo | ||||
$ hg -q ci -m 12a | ||||
Matt Mackall
|
r12316 | [1] | ||
Adrian Buehlmann
|
r12279 | $ hg -q up 11 | ||
$ echo 13 > foo | ||||
$ hg -q branch e | ||||
$ hg -q ci -m 13d | ||||
Matt Mackall
|
r12365 | $ hg push -r 12 -r 13 ../f | ||
Adrian Buehlmann
|
r12279 | pushing to ../f | ||
searching for changes | ||||
abort: push creates new remote branches: e! | ||||
(use 'hg push --new-branch' to create new remote branches) | ||||
Matt Mackall
|
r12365 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
Using --new-branch to push new named branch: | ||||
Matt Mackall
|
r12365 | $ hg push --new-branch -r 12 -r 13 ../f | ||
Adrian Buehlmann
|
r12279 | pushing to ../f | ||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
Mads Kiilerich
|
r21024 | Pushing multi headed new branch: | ||
FUJIWARA Katsunori
|
r19840 | |||
$ echo 14 > foo | ||||
$ hg -q branch f | ||||
$ hg -q ci -m 14 | ||||
$ echo 15 > foo | ||||
$ hg -q ci -m 15 | ||||
$ hg -q up 14 | ||||
$ echo 16 > foo | ||||
$ hg -q ci -m 16 | ||||
$ hg push --branch f --new-branch ../f | ||||
pushing to ../f | ||||
searching for changes | ||||
Mads Kiilerich
|
r20050 | abort: push creates new branch 'f' with multiple heads | ||
timeless
|
r29973 | (merge or see 'hg help push' for details about pushing new heads) | ||
FUJIWARA Katsunori
|
r19840 | [255] | ||
$ hg push --branch f --new-branch --force ../f | ||||
pushing to ../f | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 3 changesets with 3 changes to 1 files (+1 heads) | ||||
Adrian Buehlmann
|
r12279 | |||
Matt Mackall
|
r12785 | Checking prepush logic does not allow silently pushing | ||
Mads Kiilerich
|
r21198 | multiple new heads but also doesn't report too many heads: | ||
Adrian Buehlmann
|
r12279 | |||
$ cd .. | ||||
$ hg init h | ||||
$ echo init > h/init | ||||
$ hg -R h ci -Am init | ||||
adding init | ||||
$ echo a > h/a | ||||
$ hg -R h ci -Am a | ||||
adding a | ||||
$ hg clone h i | ||||
updating to branch default | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg -R h up 0 | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ echo b > h/b | ||||
$ hg -R h ci -Am b | ||||
adding b | ||||
created new head | ||||
$ hg -R i up 0 | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ echo c > i/c | ||||
$ hg -R i ci -Am c | ||||
adding c | ||||
created new head | ||||
Matt Harbison
|
r24361 | $ for i in `python $TESTDIR/seq.py 3`; do hg -R h up -q 0; echo $i > h/b; hg -R h ci -qAm$i; done | ||
Mads Kiilerich
|
r21198 | |||
Adrian Buehlmann
|
r12279 | $ hg -R i push h | ||
pushing to h | ||||
searching for changes | ||||
Mads Kiilerich
|
r21198 | remote has heads on branch 'default' that are not known locally: 534543e22c29 764f8ec07b96 afe7cc7679f5 ce4212fc8847 | ||
abort: push creates new remote head 97bd0c84d346! | ||||
timeless
|
r29973 | (pull and merge or see 'hg help push' for details about pushing new heads) | ||
Mads Kiilerich
|
r21198 | [255] | ||
$ hg -R h up -q 0; echo x > h/b; hg -R h ci -qAmx | ||||
$ hg -R i push h | ||||
pushing to h | ||||
searching for changes | ||||
remote has heads on branch 'default' that are not known locally: 18ddb72c4590 534543e22c29 764f8ec07b96 afe7cc7679f5 and 1 others | ||||
abort: push creates new remote head 97bd0c84d346! | ||||
timeless
|
r29973 | (pull and merge or see 'hg help push' for details about pushing new heads) | ||
Mads Kiilerich
|
r21198 | [255] | ||
$ hg -R i push h -v | ||||
pushing to h | ||||
searching for changes | ||||
remote has heads on branch 'default' that are not known locally: 18ddb72c4590 534543e22c29 764f8ec07b96 afe7cc7679f5 ce4212fc8847 | ||||
new remote heads on branch 'default': | ||||
97bd0c84d346 | ||||
Adrian Buehlmann
|
r14525 | abort: push creates new remote head 97bd0c84d346! | ||
timeless
|
r29973 | (pull and merge or see 'hg help push' for details about pushing new heads) | ||
Matt Mackall
|
r12316 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
Check prepush logic with merged branches: | ||||
$ hg init j | ||||
$ hg -R j branch a | ||||
marked working directory as branch a | ||||
Matt Mackall
|
r15615 | (branches are permanent and global, did you want a bookmark?) | ||
Adrian Buehlmann
|
r12279 | $ echo init > j/foo | ||
$ hg -R j ci -Am init | ||||
adding foo | ||||
$ hg clone j k | ||||
updating to branch a | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ echo a1 > j/foo | ||||
$ hg -R j ci -m a1 | ||||
$ hg -R k branch b | ||||
marked working directory as branch b | ||||
$ echo b > k/foo | ||||
$ hg -R k ci -m b | ||||
$ hg -R k up 0 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg -R k merge b | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg -R k ci -m merge | ||||
$ hg -R k push -r a j | ||||
pushing to j | ||||
searching for changes | ||||
abort: push creates new remote branches: b! | ||||
(use 'hg push --new-branch' to create new remote branches) | ||||
Matt Mackall
|
r12316 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
Prepush -r should not allow you to sneak in new heads: | ||||
$ hg init l | ||||
$ cd l | ||||
$ echo a >> foo | ||||
$ hg -q add foo | ||||
$ hg -q branch a | ||||
$ hg -q ci -ma | ||||
$ hg -q up null | ||||
$ echo a >> foo | ||||
$ hg -q add foo | ||||
$ hg -q branch b | ||||
$ hg -q ci -mb | ||||
$ cd .. | ||||
$ hg -q clone l m -u a | ||||
$ cd m | ||||
$ hg -q merge b | ||||
$ hg -q ci -mmb | ||||
$ hg -q up 0 | ||||
$ echo a >> foo | ||||
$ hg -q ci -ma2 | ||||
$ hg -q up 2 | ||||
$ echo a >> foo | ||||
$ hg -q branch -f b | ||||
$ hg -q ci -mb2 | ||||
$ hg -q merge 3 | ||||
$ hg -q ci -mma | ||||
$ hg push ../l -b b | ||||
pushing to ../l | ||||
searching for changes | ||||
Mads Kiilerich
|
r18361 | abort: push creates new remote head 451211cc22b0 on branch 'a'! | ||
timeless
|
r29973 | (merge or see 'hg help push' for details about pushing new heads) | ||
Matt Mackall
|
r12316 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
$ cd .. | ||||
Check prepush with new branch head on former topo non-head: | ||||
$ hg init n | ||||
$ cd n | ||||
$ hg branch A | ||||
marked working directory as branch A | ||||
Matt Mackall
|
r15615 | (branches are permanent and global, did you want a bookmark?) | ||
Adrian Buehlmann
|
r12279 | $ echo a >a | ||
$ hg ci -Ama | ||||
adding a | ||||
$ hg branch B | ||||
marked working directory as branch B | ||||
$ echo b >b | ||||
$ hg ci -Amb | ||||
adding b | ||||
Matt Mackall
|
r12328 | b is now branch head of B, and a topological head | ||
a is now branch head of A, but not a topological head | ||||
Adrian Buehlmann
|
r12279 | |||
$ hg clone . inner | ||||
updating to branch B | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cd inner | ||||
$ hg up B | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ echo b1 >b1 | ||||
$ hg ci -Amb1 | ||||
adding b1 | ||||
Matt Mackall
|
r12328 | in the clone b1 is now the head of B | ||
Adrian Buehlmann
|
r12279 | |||
$ cd .. | ||||
$ hg up 0 | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ echo a2 >a2 | ||||
$ hg ci -Ama2 | ||||
adding a2 | ||||
Matt Mackall
|
r12785 | a2 is now the new branch head of A, and a new topological head | ||
Matt Mackall
|
r12328 | it replaces a former inner branch head, so it should at most warn about | ||
A, not B | ||||
Adrian Buehlmann
|
r12279 | |||
glog of local: | ||||
Martin Geisler
|
r20117 | $ hg log -G --template "{rev}: {branches} {desc}\n" | ||
Adrian Buehlmann
|
r12279 | @ 2: A a2 | ||
| | ||||
| o 1: B b | ||||
|/ | ||||
o 0: A a | ||||
glog of remote: | ||||
Martin Geisler
|
r20117 | $ hg log -G -R inner --template "{rev}: {branches} {desc}\n" | ||
Adrian Buehlmann
|
r12279 | @ 2: B b1 | ||
| | ||||
o 1: B b | ||||
| | ||||
o 0: A a | ||||
outgoing: | ||||
$ hg out inner --template "{rev}: {branches} {desc}\n" | ||||
comparing with inner | ||||
searching for changes | ||||
2: A a2 | ||||
$ hg push inner | ||||
pushing to inner | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files (+1 heads) | ||||
$ cd .. | ||||
Check prepush with new branch head on former topo head: | ||||
$ hg init o | ||||
$ cd o | ||||
$ hg branch A | ||||
marked working directory as branch A | ||||
Matt Mackall
|
r15615 | (branches are permanent and global, did you want a bookmark?) | ||
Adrian Buehlmann
|
r12279 | $ echo a >a | ||
$ hg ci -Ama | ||||
adding a | ||||
$ hg branch B | ||||
marked working directory as branch B | ||||
$ echo b >b | ||||
$ hg ci -Amb | ||||
adding b | ||||
Matt Mackall
|
r12328 | b is now branch head of B, and a topological head | ||
Adrian Buehlmann
|
r12279 | |||
$ hg up 0 | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ echo a1 >a1 | ||||
$ hg ci -Ama1 | ||||
adding a1 | ||||
Matt Mackall
|
r12328 | a1 is now branch head of A, and a topological head | ||
Adrian Buehlmann
|
r12279 | |||
$ hg clone . inner | ||||
updating to branch A | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cd inner | ||||
$ hg up B | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ echo b1 >b1 | ||||
$ hg ci -Amb1 | ||||
adding b1 | ||||
Matt Mackall
|
r12328 | in the clone b1 is now the head of B | ||
Adrian Buehlmann
|
r12279 | |||
$ cd .. | ||||
$ echo a2 >a2 | ||||
$ hg ci -Ama2 | ||||
adding a2 | ||||
Matt Mackall
|
r12328 | a2 is now the new branch head of A, and a topological head | ||
it replaces a former topological and branch head, so this should not warn | ||||
Adrian Buehlmann
|
r12279 | |||
glog of local: | ||||
Martin Geisler
|
r20117 | $ hg log -G --template "{rev}: {branches} {desc}\n" | ||
Adrian Buehlmann
|
r12279 | @ 3: A a2 | ||
| | ||||
o 2: A a1 | ||||
| | ||||
| o 1: B b | ||||
|/ | ||||
o 0: A a | ||||
glog of remote: | ||||
Martin Geisler
|
r20117 | $ hg log -G -R inner --template "{rev}: {branches} {desc}\n" | ||
Adrian Buehlmann
|
r12279 | @ 3: B b1 | ||
| | ||||
| o 2: A a1 | ||||
| | | ||||
o | 1: B b | ||||
|/ | ||||
o 0: A a | ||||
outgoing: | ||||
$ hg out inner --template "{rev}: {branches} {desc}\n" | ||||
comparing with inner | ||||
searching for changes | ||||
3: A a2 | ||||
$ hg push inner | ||||
pushing to inner | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
$ cd .. | ||||
Check prepush with new branch head and new child of former branch head | ||||
but child is on different branch: | ||||
$ hg init p | ||||
$ cd p | ||||
$ hg branch A | ||||
marked working directory as branch A | ||||
Matt Mackall
|
r15615 | (branches are permanent and global, did you want a bookmark?) | ||
Adrian Buehlmann
|
r12279 | $ echo a0 >a | ||
$ hg ci -Ama0 | ||||
adding a | ||||
$ echo a1 >a | ||||
$ hg ci -ma1 | ||||
$ hg up null | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg branch B | ||||
marked working directory as branch B | ||||
$ echo b0 >b | ||||
$ hg ci -Amb0 | ||||
adding b | ||||
$ echo b1 >b | ||||
$ hg ci -mb1 | ||||
$ hg clone . inner | ||||
updating to branch B | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg up A | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg branch -f B | ||||
marked working directory as branch B | ||||
$ echo a3 >a | ||||
$ hg ci -ma3 | ||||
created new head | ||||
$ hg up 3 | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg branch -f A | ||||
marked working directory as branch A | ||||
$ echo b3 >b | ||||
$ hg ci -mb3 | ||||
created new head | ||||
glog of local: | ||||
Martin Geisler
|
r20117 | $ hg log -G --template "{rev}: {branches} {desc}\n" | ||
Adrian Buehlmann
|
r12279 | @ 5: A b3 | ||
| | ||||
| o 4: B a3 | ||||
| | | ||||
o | 3: B b1 | ||||
| | | ||||
o | 2: B b0 | ||||
/ | ||||
o 1: A a1 | ||||
| | ||||
o 0: A a0 | ||||
glog of remote: | ||||
Martin Geisler
|
r20117 | $ hg log -G -R inner --template "{rev}: {branches} {desc}\n" | ||
Adrian Buehlmann
|
r12279 | @ 3: B b1 | ||
| | ||||
o 2: B b0 | ||||
o 1: A a1 | ||||
| | ||||
o 0: A a0 | ||||
outgoing: | ||||
$ hg out inner --template "{rev}: {branches} {desc}\n" | ||||
comparing with inner | ||||
searching for changes | ||||
4: B a3 | ||||
5: A b3 | ||||
$ hg push inner | ||||
pushing to inner | ||||
searching for changes | ||||
Adrian Buehlmann
|
r14525 | abort: push creates new remote head 7d0f4fb6cf04 on branch 'A'! | ||
timeless
|
r29973 | (merge or see 'hg help push' for details about pushing new heads) | ||
Matt Mackall
|
r12316 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
$ hg push inner -r4 -r5 | ||||
pushing to inner | ||||
searching for changes | ||||
Adrian Buehlmann
|
r14525 | abort: push creates new remote head 7d0f4fb6cf04 on branch 'A'! | ||
timeless
|
r29973 | (merge or see 'hg help push' for details about pushing new heads) | ||
Matt Mackall
|
r12316 | [255] | ||
Adrian Buehlmann
|
r12279 | |||
$ hg in inner | ||||
comparing with inner | ||||
searching for changes | ||||
no changes found | ||||
Matt Mackall
|
r12316 | [1] | ||
Mads Kiilerich
|
r16913 | |||
Jordi Gutiérrez Hermoso
|
r29129 | Test fail hook | ||
$ hg push inner --config hooks.fail-push="echo running fail-push hook" | ||||
pushing to inner | ||||
searching for changes | ||||
running fail-push hook | ||||
abort: push creates new remote head 7d0f4fb6cf04 on branch 'A'! | ||||
timeless
|
r29973 | (merge or see 'hg help push' for details about pushing new heads) | ||
Jordi Gutiérrez Hermoso
|
r29129 | [255] | ||
Mads Kiilerich
|
r16913 | $ cd .. | ||