mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 09:17:30 +03:00
0a89353310
Summary: fold doesn't work without --from or --exact anymore Test Plan: all tests are passing now Reviewers: #mercurial, rmcelroy Reviewed By: rmcelroy Subscribers: mjpieters Differential Revision: https://phabricator.intern.facebook.com/D4441874 Signature: t1:4441874:1484922064:1616827e2308b4b9d43e3ef1bd90f51c35a2a513
178 lines
4.3 KiB
Perl
178 lines
4.3 KiB
Perl
$ . $TESTDIR/require-ext.sh directaccess evolve inhibit
|
|
$ extpath=`dirname $TESTDIR`
|
|
$ cp $extpath/hgext3rd/allowunstable.py $TESTTMP
|
|
$ cp $extpath/hgext3rd/fbamend.py $TESTTMP
|
|
$ cp $extpath/hgext3rd/smartlog.py $TESTTMP
|
|
$ cp $extpath/hgext3rd/tweakdefaults.py $TESTTMP
|
|
$ cat >> $HGRCPATH << EOF
|
|
> [extensions]
|
|
> allowunstable=$TESTTMP/allowunstable.py
|
|
> directaccess=
|
|
> evolve=
|
|
> fbamend=$TESTTMP/fbamend.py
|
|
> histedit=
|
|
> inhibit=
|
|
> rebase=
|
|
> smartlog=$TESTTMP/smartlog.py
|
|
> tweakdefaults=$TESTTMP/tweakdefaults.py
|
|
> [experimental]
|
|
> evolution = createmarkers
|
|
> evolutioncommands = prev next fold split
|
|
> allowdivergence = on
|
|
> [ui]
|
|
> interactive = true
|
|
> EOF
|
|
$ mkcommit() {
|
|
> echo $1 > $1
|
|
> hg add $1
|
|
> hg ci -m "add $1"
|
|
> }
|
|
$ mkcommit2() {
|
|
> echo "${1}1" > "${1}1"
|
|
> echo "${1}2" > "${1}2"
|
|
> hg add "${1}1" "${1}2"
|
|
> hg ci -m "add ${1}1 and ${1}2"
|
|
> }
|
|
$ reset() {
|
|
> cd ..
|
|
> rm -rf repo
|
|
> hg init repo
|
|
> cd repo
|
|
> }
|
|
$ showgraph() {
|
|
> hg log -r "(::.)::" --graph -T "{rev} {desc|firstline}" | sed \$d
|
|
> }
|
|
$ shownodes() {
|
|
> hg log --graph -T "{rev}:{short(node)} {desc|firstline}" --hidden | sed \$d
|
|
> }
|
|
$ hg init repo && cd repo
|
|
|
|
Check amend template keyword.
|
|
$ mkcommit a
|
|
$ showgraph
|
|
@ 0 add a
|
|
$ hg amend -m "Amended"
|
|
$ showgraph
|
|
@ 1 Amended
|
|
$ hg log --hidden -r 0 -T "{desc} {amendsuccessors % '{short(amendsuccessor)}'}\n"
|
|
add a [a-f0-9]* (re)
|
|
|
|
Check rebase template keyword.
|
|
$ mkcommit b
|
|
$ hg prev
|
|
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
|
[*] Amended (glob)
|
|
$ mkcommit c
|
|
created new head
|
|
$ showgraph
|
|
@ 3 add c
|
|
|
|
|
| o 2 add b
|
|
|/
|
|
o 1 Amended
|
|
$ hg rebase -r 2 -d .
|
|
rebasing 2:* "add b" (glob)
|
|
$ showgraph
|
|
o 4 add b
|
|
|
|
|
@ 3 add c
|
|
|
|
|
o 1 Amended
|
|
$ hg log --hidden -r 2 -T "{desc} {rebasesuccessors % '{short(rebasesuccessor)} '}\n"
|
|
add b [a-f0-9]* (re)
|
|
|
|
Check fold template keyword.
|
|
$ hg fold --from 4
|
|
2 changesets folded
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ showgraph
|
|
@ 5 add c
|
|
|
|
|
o 1 Amended
|
|
$ hg log --hidden -r 3 -T "{desc} {foldsuccessors % '{short(foldsuccessor)} '}\n"
|
|
add c [a-f0-9]* (re)
|
|
$ hg log --hidden -r 4 -T "{desc} {foldsuccessors % '{short(foldsuccessor)} '}\n"
|
|
add b [a-f0-9]* (re)
|
|
|
|
Check split template keyword.
|
|
$ mkcommit2 d
|
|
$ hg split << EOF
|
|
> y
|
|
> y
|
|
> n
|
|
> y
|
|
> EOF
|
|
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
|
|
adding d1
|
|
adding d2
|
|
diff --git a/d1 b/d1
|
|
new file mode 100644
|
|
examine changes to 'd1'? [Ynesfdaq?] y
|
|
|
|
@@ -0,0 +1,1 @@
|
|
+d1
|
|
record change 1/2 to 'd1'? [Ynesfdaq?] y
|
|
|
|
diff --git a/d2 b/d2
|
|
new file mode 100644
|
|
examine changes to 'd2'? [Ynesfdaq?] n
|
|
|
|
created new head
|
|
Done splitting? [yN] y
|
|
$ showgraph
|
|
@ 8 add d1 and d2
|
|
|
|
|
o 7 add d1 and d2
|
|
|
|
|
o 5 add c
|
|
|
|
|
o 1 Amended
|
|
$ hg log --hidden -r 6 -T "{desc} {splitsuccessors % '{short(splitsuccessor)} '}\n"
|
|
add d1 and d2 [a-f0-9]* [a-f0-9]* (re)
|
|
|
|
Check histedit template keyword.
|
|
$ reset
|
|
$ hg debugbuilddag -m +6
|
|
$ hg up tip
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ shownodes
|
|
@ 5:f2987ebe5838 r5
|
|
|
|
|
o 4:aa70f0fe546a r4
|
|
|
|
|
o 3:cb14eba0ad9c r3
|
|
|
|
|
o 2:f07e66f449d0 r2
|
|
|
|
|
o 1:09bb8c08de89 r1
|
|
|
|
|
o 0:fdaccbb26270 r0
|
|
$ hg histedit --commands - 2>&1 << EOF
|
|
> pick fdaccbb26270
|
|
> drop 09bb8c08de89
|
|
> pick f07e66f449d0
|
|
> fold cb14eba0ad9c
|
|
> pick aa70f0fe546a
|
|
> drop f2987ebe5838
|
|
> EOF
|
|
$ shownodes
|
|
@ 9:a14277652442 r4
|
|
|
|
|
o 8:cbe2934dfbab r2
|
|
|
|
|
o 0:fdaccbb26270 r0
|
|
|
|
Only nodes that were folded or rebased will have successors.
|
|
$ hg log --hidden -r 0 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
|
|
r0
|
|
$ hg log --hidden -r 1 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
|
|
r1
|
|
$ hg log --hidden -r 2 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
|
|
r2 cbe2934dfbab
|
|
$ hg log --hidden -r 3 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
|
|
r3 cbe2934dfbab
|
|
$ hg log --hidden -r 4 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
|
|
r4 a14277652442
|
|
$ hg log --hidden -r 5 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
|
|
r5
|