##// END OF EJS Templates
py3: handle keyword arguments correctly in hgext/patchbomb.py...
py3: handle keyword arguments correctly in hgext/patchbomb.py The keys of keyword arguments must be str on Python 3 which is unicode. This patch make sure we pass keyword arguments with keys are str everywhere in this file and access the keys depending on whether they are bytes or str. This patch uses pycompat.{byteskwargs|strkwargs} and somewhere it also added r'' to prevent transformer from adding a b'' over there. Differential Revision: https://phab.mercurial-scm.org/D974

File last commit:

r34662:eb586ed5 default
r35035:71e63fe6 default
Show More
test-rebase-pull.t
460 lines | 8.6 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-pull.t
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
Valters Vingolds
rebase: fail-fast the pull if working dir is not clean (BC)...
r30725 > histedit=
Adrian Buehlmann
tests: unify test-rebase*
r12608 >
> [alias]
> tglog = log -G --template "{rev}: '{desc}' {branches}\n"
> EOF
$ hg init a
$ cd a
$ echo C1 > C1
$ hg ci -Am C1
adding C1
$ echo C2 > C2
$ hg ci -Am C2
adding C2
$ cd ..
$ hg clone a b
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg clone a c
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd b
$ echo L1 > L1
$ hg ci -Am L1
adding L1
$ cd ../a
$ echo R1 > R1
$ hg ci -Am R1
adding R1
$ cd ../b
Now b has one revision to be pulled from a:
$ hg pull --rebase
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 pulling from $TESTTMP/a (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608 searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 77ae9631bcca
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 2:ff8d69a621f9 "L1"
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 saved backup bundle to $TESTTMP/b/.hg/strip-backup/ff8d69a621f9-160fa373-rebase.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
@ 3: 'L1'
|
o 2: 'R1'
|
o 1: 'C2'
|
o 0: 'C1'
Re-run:
$ hg pull --rebase
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 pulling from $TESTTMP/a (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608 searching for changes
no changes found
Valters Vingolds
rebase: fail-fast the pull if working dir is not clean (BC)...
r30725 Abort pull early if working dir is not clean:
$ echo L1-mod > L1
$ hg pull --rebase
abort: uncommitted changes
Valters Vingolds
rebase: provide detailed hint to abort message if working dir is not clean...
r30755 (cannot pull with rebase: please commit or shelve your changes first)
Valters Vingolds
rebase: fail-fast the pull if working dir is not clean (BC)...
r30725 [255]
$ hg update --clean --quiet
Abort pull early if another operation (histedit) is in progress:
$ hg histedit . -q --commands - << EOF
> edit d80cc2da061e histedit: generate unfinished state
> EOF
Editing (d80cc2da061e), you may commit or record as needed now.
(hg histedit --continue to resume)
[1]
$ hg pull --rebase
abort: histedit in progress
(use 'hg histedit --continue' or 'hg histedit --abort')
[255]
$ hg histedit --abort --quiet
Adrian Buehlmann
tests: unify test-rebase*
r12608
Valters Vingolds
rebase: provide detailed hint to abort message if working dir is not clean...
r30755 Abort pull early with pending uncommitted merge:
$ cd ..
$ hg clone --noupdate c d
$ cd d
$ hg tglog
o 1: 'C2'
|
o 0: 'C1'
$ hg update --quiet 0
$ echo M1 > M1
$ hg commit --quiet -Am M1
$ hg update --quiet 1
$ hg merge 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg pull --rebase
abort: outstanding uncommitted merge
(cannot pull with rebase: please commit or shelve your changes first)
[255]
$ hg update --clean --quiet
Abort pull early with unclean subrepo:
$ echo s = s > .hgsub
$ hg add .hgsub
$ hg init s
$ hg commit -m "generated a subrepo"
$ echo a > s/a
$ hg -R s add s/a
$ hg pull --rebase
Matt Harbison
subrepo: make the output references to subrepositories consistent...
r33365 abort: uncommitted changes in subrepository "s"
Valters Vingolds
rebase: provide detailed hint to abort message if working dir is not clean...
r30755 (cannot pull with rebase: please commit or shelve your changes first)
[255]
Adrian Buehlmann
tests: unify test-rebase*
r12608 Invoke pull --rebase and nothing to rebase:
$ cd ../c
Matt Mackall
rebase: move bookmarks as needed with pull --rebase (issue3285)
r16228 $ hg book norebase
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ hg pull --rebase
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 pulling from $TESTTMP/a (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608 searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 77ae9631bcca
Pierre-Yves David
rebase: choose default destination the same way as 'hg merge' (BC)...
r28189 nothing to rebase - updating instead
Adrian Buehlmann
tests: unify test-rebase*
r12608 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Mackall
rebase: move bookmarks as needed with pull --rebase (issue3285)
r16228 updating bookmark norebase
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog -l 1
@ 2: 'R1'
|
Martijn Pieters
graphmod: set default edge styles for ascii graphs (BC)...
r28627 ~
Adrian Buehlmann
tests: unify test-rebase*
r12608
pull --rebase --update should ignore --update:
$ hg pull --rebase --update
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 pulling from $TESTTMP/a (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608 searching for changes
no changes found
pull --rebase doesn't update if nothing has been pulled:
$ hg up -q 1
$ hg pull --rebase
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 pulling from $TESTTMP/a (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608 searching for changes
no changes found
$ hg tglog -l 1
o 2: 'R1'
|
Martijn Pieters
graphmod: set default edge styles for ascii graphs (BC)...
r28627 ~
Adrian Buehlmann
tests: unify test-rebase*
r12608
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..
Pierre-Yves David
rebase: fix pull --rev options clashing with --rebase (issue3619)...
r17988
pull --rebase works when a specific revision is pulled (issue3619)
$ cd a
$ hg tglog
@ 2: 'R1'
|
o 1: 'C2'
|
o 0: 'C1'
$ echo R2 > R2
$ hg ci -Am R2
adding R2
$ echo R3 > R3
$ hg ci -Am R3
adding R3
$ cd ../c
$ hg tglog
o 2: 'R1'
|
@ 1: 'C2'
|
o 0: 'C1'
$ echo L1 > L1
$ hg ci -Am L1
adding L1
created new head
$ hg pull --rev tip --rebase
Kevin Bullock
tests: fix some slash-based Windows failures
r18108 pulling from $TESTTMP/a (glob)
Pierre-Yves David
rebase: fix pull --rev options clashing with --rebase (issue3619)...
r17988 searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 31cd3a05214e:770a61882ace
Mads Kiilerich
rebase: show more useful status information while rebasing...
r23517 rebasing 3:ff8d69a621f9 "L1"
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 saved backup bundle to $TESTTMP/c/.hg/strip-backup/ff8d69a621f9-160fa373-rebase.hg (glob)
Pierre-Yves David
rebase: fix pull --rev options clashing with --rebase (issue3619)...
r17988 $ hg tglog
@ 5: 'L1'
|
o 4: 'R3'
|
o 3: 'R2'
|
o 2: 'R1'
|
o 1: 'C2'
|
o 0: 'C1'
Eric Sumner
repair: setup hookargs when processing bundle2s...
r24170 pull --rebase works with bundle2 turned on
Pierre-Yves David
rebase: fix pull --rev options clashing with --rebase (issue3619)...
r17988
Eric Sumner
repair: setup hookargs when processing bundle2s...
r24170 $ cd ../a
$ echo R4 > R4
$ hg ci -Am R4
adding R4
$ hg tglog
@ 5: 'R4'
|
o 4: 'R3'
|
o 3: 'R2'
|
o 2: 'R1'
|
o 1: 'C2'
|
o 0: 'C1'
$ cd ../c
Pierre-Yves David
strip: use bundle2 + cg2 by default when repository use general delta...
r26423 $ hg pull --rebase
Eric Sumner
repair: setup hookargs when processing bundle2s...
r24170 pulling from $TESTTMP/a (glob)
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 00e3b7781125
Eric Sumner
repair: setup hookargs when processing bundle2s...
r24170 rebasing 5:518d153c0ba3 "L1"
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 saved backup bundle to $TESTTMP/c/.hg/strip-backup/518d153c0ba3-73407f14-rebase.hg (glob)
Eric Sumner
repair: setup hookargs when processing bundle2s...
r24170 $ hg tglog
@ 6: 'L1'
|
o 5: 'R4'
|
o 4: 'R3'
|
o 3: 'R2'
|
o 2: 'R1'
|
o 1: 'C2'
|
o 0: 'C1'
Pierre-Yves David
rebase: 'hg pull --rebase' now update only if there was nothing to rebase...
r28117
pull --rebase only update if there is nothing to rebase
$ cd ../a
$ echo R5 > R5
$ hg ci -Am R5
adding R5
$ hg tglog
@ 6: 'R5'
|
o 5: 'R4'
|
o 4: 'R3'
|
o 3: 'R2'
|
o 2: 'R1'
|
o 1: 'C2'
|
o 0: 'C1'
$ cd ../c
$ echo L2 > L2
$ hg ci -Am L2
adding L2
$ hg up 'desc(L1)'
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg pull --rebase
pulling from $TESTTMP/a (glob)
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 88dd24261747
Pierre-Yves David
rebase: 'hg pull --rebase' now update only if there was nothing to rebase...
r28117 rebasing 6:0d0727eb7ce0 "L1"
rebasing 7:c1f58876e3bf "L2"
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 saved backup bundle to $TESTTMP/c/.hg/strip-backup/0d0727eb7ce0-ef61ccb2-rebase.hg (glob)
Pierre-Yves David
rebase: 'hg pull --rebase' now update only if there was nothing to rebase...
r28117 $ hg tglog
o 8: 'L2'
|
@ 7: 'L1'
|
o 6: 'R5'
|
o 5: 'R4'
|
o 4: 'R3'
|
o 3: 'R2'
|
o 2: 'R1'
|
o 1: 'C2'
|
o 0: 'C1'
Pierre-Yves David
rebase: perform update through the 'update' command...
r28118
pull --rebase update (no rebase) use proper update:
- warn about other head.
$ cd ../a
$ echo R6 > R6
$ hg ci -Am R6
adding R6
$ cd ../c
$ hg up 'desc(R5)'
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg pull --rebase
pulling from $TESTTMP/a (glob)
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 65bc164c1d9b
Pierre-Yves David
rebase: choose default destination the same way as 'hg merge' (BC)...
r28189 nothing to rebase - updating instead
Pierre-Yves David
rebase: perform update through the 'update' command...
r28118 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pulkit Goyal
update: show the commit to which we updated in case of multiple heads (BC)...
r32698 updated to "65bc164c1d9b: R6"
Pierre-Yves David
rebase: perform update through the 'update' command...
r28118 1 other heads for branch "default"
$ hg tglog
@ 9: 'R6'
|
| o 8: 'L2'
| |
| o 7: 'L1'
|/
o 6: 'R5'
|
o 5: 'R4'
|
o 4: 'R3'
|
o 3: 'R2'
|
o 2: 'R1'
|
o 1: 'C2'
|
o 0: 'C1'
Pierre-Yves David
rebase: restrict rebase destination to the pulled set (issue5214)...
r29044
Multiple pre-existing heads on the branch
-----------------------------------------
Pull bring content, but nothing on the current branch, we should not consider
pre-existing heads.
$ cd ../a
$ hg branch unrelatedbranch
marked working directory as branch unrelatedbranch
(branches are permanent and global, did you want a bookmark?)
$ echo B1 > B1
$ hg commit -Am B1
adding B1
$ cd ../c
$ hg up 'desc(L2)'
2 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg pull --rebase
pulling from $TESTTMP/a (glob)
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 39c381359968
Pierre-Yves David
rebase: restrict rebase destination to the pulled set (issue5214)...
r29044 nothing to rebase
There is two local heads and we pull a third one.
The second local head should not confuse the `hg pull rebase`.
$ hg up 'desc(R6)'
1 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ echo M1 > M1
$ hg commit -Am M1
adding M1
$ cd ../a
$ hg up 'desc(R6)'
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo R7 > R7
$ hg commit -Am R7
adding R7
$ cd ../c
$ hg up 'desc(L2)'
2 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ hg pull --rebase
pulling from $TESTTMP/a (glob)
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f7d3e42052f9
Pierre-Yves David
rebase: restrict rebase destination to the pulled set (issue5214)...
r29044 rebasing 7:864e0a2d2614 "L1"
rebasing 8:6dc0ea5dcf55 "L2"
Jun Wu
rebase: use scmutil.cleanupnodes (issue5606) (BC)...
r33332 saved backup bundle to $TESTTMP/c/.hg/strip-backup/864e0a2d2614-2f72c89c-rebase.hg (glob)
Pierre-Yves David
rebase: restrict rebase destination to the pulled set (issue5214)...
r29044 $ hg tglog
@ 12: 'L2'
|
o 11: 'L1'
|
o 10: 'R7'
|
| o 9: 'M1'
|/
| o 8: 'B1' unrelatedbranch
|/
o 7: 'R6'
|
o 6: 'R5'
|
o 5: 'R4'
|
o 4: 'R3'
|
o 3: 'R2'
|
o 2: 'R1'
|
o 1: 'C2'
|
o 0: 'C1'