##// END OF EJS Templates
match: move entire uipath() implementation to basematcher...
match: move entire uipath() implementation to basematcher Even though most matchers will always want to use the relative path in uipath(), when we add support for intersecting matcher, we will want to control which form to use for any kind of matcher without knowing the type (see next patch), so we need the implementation on the base class. Also rename the attribute from "pathrestricted" to "relativeuipath" since there actually are cases where we match everything but still use relative paths (like when the user runs "hg files .." from inside mercurial/).

File last commit:

r32272:78496ac3 default
r32496:ca77a243 default
Show More
test-rebase-partial.t
95 lines | 1.6 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-partial.t
Tests rebasing with part of the rebase set already in the
destination (issue5422)
$ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
> drawdag=$TESTDIR/drawdag.py
>
> [experimental]
> evolution=createmarkers,allowunstable
>
> [alias]
> tglog = log -G --template "{rev}: {desc}"
> EOF
$ rebasewithdag() {
> N=`$PYTHON -c "print($N+1)"`
> hg init repo$N && cd repo$N
> hg debugdrawdag
> hg rebase "$@" > _rebasetmp
> r=$?
> grep -v 'saved backup bundle' _rebasetmp
> [ $r -eq 0 ] && hg tglog
> cd ..
> return $r
> }
Rebase two commits, of which one is already in the right place
$ rebasewithdag -r C+D -d B <<EOF
> C
> |
> B D
> |/
> A
> EOF
rebasing 2:b18e25de2cf5 "D" (D)
already rebased 3:26805aba1e60 "C" (C tip)
o 4: D
|
| o 3: C
|/
| x 2: D
| |
o | 1: B
|/
o 0: A
Can collapse commits even if one is already in the right place
$ rebasewithdag --collapse -r C+D -d B <<EOF
> C
> |
> B D
> |/
> A
> EOF
rebasing 2:b18e25de2cf5 "D" (D)
rebasing 3:26805aba1e60 "C" (C tip)
o 4: Collapsed revision
| * D
| * C
| x 3: C
|/
| x 2: D
| |
o | 1: B
|/
o 0: A
Rebase with "holes". The commits after the hole should end up on the parent of
the hole (B below), not on top of the destination (A).
$ rebasewithdag -r B+D -d A <<EOF
> D
> |
> C
> |
> B
> |
> A
> EOF
already rebased 1:112478962961 "B" (B)
not rebasing ignored 2:26805aba1e60 "C" (C)
rebasing 3:f585351a92f8 "D" (D tip)
o 4: D
|
| x 3: D
| |
| o 2: C
|/
o 1: B
|
o 0: A