mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 01:07:15 +03:00
1b9a5fdc5c
Summary: Fix the tweakdefaults code to extract the --tool argument when extracting --rebase, and to pass it in to the rebasemodule.rebase() function correctly. Test Plan: Included a new test. Reviewers: #mercurial, rmcelroy, quark Reviewed By: quark Subscribers: quark, net-systems-diffs@fb.com, mjpieters Differential Revision: https://phabricator.intern.facebook.com/D5134466 Tasks: 18770938 Signature: t1:5134466:1495848690:308a8d3fbad39e6ecfeaee04b1b3267c1fa1118c
138 lines
4.1 KiB
Perl
138 lines
4.1 KiB
Perl
Check for remotenames and skip if not present
|
|
$ . $TESTDIR/require-ext.sh remotenames
|
|
|
|
Set up
|
|
$ extpath=`dirname $TESTDIR`
|
|
$ cp $extpath/hgext3rd/tweakdefaults.py $TESTTMP # use $TESTTMP substitution in message
|
|
$ cat >> $HGRCPATH << EOF
|
|
> [extensions]
|
|
> rebase=
|
|
> remotenames=
|
|
> tweakdefaults=$TESTTMP/tweakdefaults.py
|
|
> EOF
|
|
|
|
$ hg init repo
|
|
$ echo a > repo/a
|
|
$ hg -R repo commit -qAm aa
|
|
$ hg -R repo bookmark one -i
|
|
$ echo b > repo/b
|
|
$ hg -R repo commit -qAm bb
|
|
$ hg -R repo bookmark two -i
|
|
$ echo c > repo/c
|
|
$ hg -R repo commit -qAm cc
|
|
$ hg -R repo bookmark three -i
|
|
$ hg clone -q repo clone
|
|
$ cd clone
|
|
|
|
Test that hg pull --rebase aborts without --dest
|
|
$ hg log -G --all -T '{node|short} {bookmarks} {remotenames}'
|
|
@ 083f922fc4a9 default/three default/default
|
|
|
|
|
o 301d76bdc3ae default/two
|
|
|
|
|
o 8f0162e483d0 default/one
|
|
|
|
$ hg up -q default/one
|
|
$ touch foo
|
|
$ hg commit -qAm 'foo'
|
|
$ hg pull --rebase
|
|
abort: you must use a bookmark with tracking or manually specify a destination for the rebase
|
|
(set up tracking with `hg book <name> -t <destination>` or manually supply --dest / -d)
|
|
[255]
|
|
$ hg bookmark bm
|
|
$ hg pull --rebase
|
|
abort: you must use a bookmark with tracking or manually specify a destination for the rebase
|
|
(set up tracking with `hg book -t <destination>` or manually supply --dest / -d)
|
|
[255]
|
|
$ hg book bm -t default/two
|
|
$ hg pull --rebase
|
|
pulling from $TESTTMP/repo (glob)
|
|
searching for changes
|
|
no changes found
|
|
rebasing 3:3de6bbccf693 "foo" (tip bm)
|
|
saved backup bundle to $TESTTMP/clone/.hg/strip-backup/3de6bbccf693-0dce0663-backup.hg (glob)
|
|
$ hg pull --rebase --dest three
|
|
pulling from $TESTTMP/repo (glob)
|
|
searching for changes
|
|
no changes found
|
|
rebasing 3:54ac787ff1c5 "foo" (tip bm)
|
|
saved backup bundle to $TESTTMP/clone/.hg/strip-backup/54ac787ff1c5-4c2ca3a1-backup.hg (glob)
|
|
|
|
Test that hg pull --update aborts without --dest
|
|
$ hg pull --update
|
|
abort: you must specify a destination for the update
|
|
(use `hg pull --update --dest <destination>`)
|
|
[255]
|
|
$ hg pull --update --dest one
|
|
pulling from $TESTTMP/repo (glob)
|
|
searching for changes
|
|
no changes found
|
|
0 files updated, 0 files merged, 3 files removed, 0 files unresolved
|
|
(leaving bookmark bm)
|
|
|
|
Test that setting a defaultdest allows --update and --rebase to work
|
|
$ hg pull --update --config tweakdefaults.defaultdest=two
|
|
pulling from $TESTTMP/repo (glob)
|
|
searching for changes
|
|
no changes found
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ hg log -G --all -T '{node|short} {bookmarks} {remotenames}'
|
|
o 5413b62180b7 bm
|
|
|
|
|
o 083f922fc4a9 default/three default/default
|
|
|
|
|
@ 301d76bdc3ae default/two
|
|
|
|
|
o 8f0162e483d0 default/one
|
|
|
|
$ echo d > d
|
|
$ hg commit -qAm d
|
|
$ hg pull --rebase --config tweakdefaults.defaultdest=three
|
|
pulling from $TESTTMP/repo (glob)
|
|
searching for changes
|
|
no changes found
|
|
rebasing 4:50f3f60b4841 "d" (tip)
|
|
saved backup bundle to * (glob)
|
|
$ hg log -G --all -T '{node|short} {bookmarks} {remotenames}'
|
|
@ ba0f83735c95
|
|
|
|
|
| o 5413b62180b7 bm
|
|
|/
|
|
o 083f922fc4a9 default/three default/default
|
|
|
|
|
o 301d76bdc3ae default/two
|
|
|
|
|
o 8f0162e483d0 default/one
|
|
|
|
Test that hg pull --rebase also works with a --tool argument
|
|
$ echo d created at remote > ../repo/d
|
|
$ hg -R ../repo update three -q
|
|
$ hg -R ../repo commit -qAm 'remote d'
|
|
$ hg pull --rebase --dest three --tool internal:union
|
|
pulling from $TESTTMP/repo (glob)
|
|
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)
|
|
rebasing 4:ba0f83735c95 "d"
|
|
merging d
|
|
saved backup bundle to $TESTTMP/clone/.hg/strip-backup/ba0f83735c95-ba455273-backup.hg (glob)
|
|
$ hg log -G --all -T '{node|short} {bookmarks} {remotenames}'
|
|
@ d6553cf01770
|
|
|
|
|
o e8aa3bc9f3f0 default/three default/default
|
|
|
|
|
| o 5413b62180b7 bm
|
|
|/
|
|
o 083f922fc4a9
|
|
|
|
|
o 301d76bdc3ae default/two
|
|
|
|
|
o 8f0162e483d0 default/one
|
|
|
|
$ cat d
|
|
d created at remote
|
|
d
|