##// END OF EJS Templates
revset: add ^ and ~ operators from parentrevspec extension...
revset: add ^ and ~ operators from parentrevspec extension ^ (Nth parent) and ~ (Nth first ancestor) are infix operators that match certain ancestors of the set: set^0 the set set^1 (also available as set^) the first parent of every changeset in set set^2 the second parent of every changeset in set set~0 the set set~1 the first ancestor (i.e. the first parent) of every changeset in set set~2 the second ancestor (i.e. first parent of first parent) of every changeset in set set~N the Nth ancestor (following first parents only) of every changeset in set; set~N is equivalent to set^1^1..., with ^1 repeated N times.

File last commit:

r13022:3fd4e4e8 default
r14070:305c9767 default
Show More
test-confused-revert.t
81 lines | 1.2 KiB | text/troff | Tads3Lexer
/ tests / test-confused-revert.t
$ hg init
$ echo foo > a
$ hg add a
$ hg commit -m "1"
$ echo bar > b
$ hg add b
$ hg remove a
Should show a removed and b added:
$ hg status
A b
R a
$ hg revert --all
undeleting a
forgetting b
Should show b unknown and a back to normal:
$ hg status
? b
$ rm b
$ hg co -C 0
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo foo-a > a
$ hg commit -m "2a"
$ hg co -C 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo foo-b > a
$ hg commit -m "2b"
created new head
$ HGMERGE=true hg merge 1
merging a
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Should show foo-b:
$ cat a
foo-b
$ echo bar > b
$ hg add b
$ rm a
$ hg remove a
Should show a removed and b added:
$ hg status
A b
R a
Revert should fail:
$ hg revert
abort: uncommitted merge - use "hg update", see "hg help revert"
[255]
Revert should be ok now:
$ hg revert -r2 --all
undeleting a
forgetting b
Should show b unknown and a marked modified (merged):
$ hg status
M a
? b
Should show foo-b:
$ cat a
foo-b