test-default-push.t
185 lines
| 4.6 KiB
| text/troff
|
Tads3Lexer
/ tests / test-default-push.t
Adrian Buehlmann
|
r12287 | $ hg init a | ||
$ echo a > a/a | ||||
$ hg --cwd a ci -Ama | ||||
adding a | ||||
$ hg clone a c | ||||
updating to branch default | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg clone a b | ||||
updating to branch default | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ echo b >> b/a | ||||
$ hg --cwd b ci -mb | ||||
anuraggoel
|
r20558 | Push should provide a hint when both 'default' and 'default-push' not set: | ||
$ cd c | ||||
$ hg push --config paths.default= | ||||
Martin von Zweigbergk
|
r46506 | config error: default repository not configured! | ||
timeless
|
r29965 | (see 'hg help config.paths') | ||
Martin von Zweigbergk
|
r46446 | [30] | ||
anuraggoel
|
r20558 | |||
$ cd .. | ||||
Adrian Buehlmann
|
r12287 | Push should push to 'default' when 'default-push' not set: | ||
$ hg --cwd b push | ||||
Matt Harbison
|
r35394 | pushing to $TESTTMP/a | ||
Adrian Buehlmann
|
r12287 | searching for changes | ||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
Push should push to 'default-push' when set: | ||||
Jordi Gutiérrez Hermoso
|
r22837 | $ echo '[paths]' >> b/.hg/hgrc | ||
Adrian Buehlmann
|
r12287 | $ echo 'default-push = ../c' >> b/.hg/hgrc | ||
$ hg --cwd b push | ||||
Matt Harbison
|
r35394 | pushing to $TESTTMP/c | ||
Adrian Buehlmann
|
r12287 | searching for changes | ||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
Gregory Szorc
|
r26189 | |||
Yuya Nishihara
|
r27555 | But push should push to 'default' if explicitly specified (issue5000): | ||
$ hg --cwd b push default | ||||
Matt Harbison
|
r35394 | pushing to $TESTTMP/a | ||
Yuya Nishihara
|
r27555 | searching for changes | ||
no changes found | ||||
[1] | ||||
Gregory Szorc
|
r26820 | Push should push to 'default-push' when 'default' is not set | ||
$ hg -q clone a push-default-only | ||||
$ cd push-default-only | ||||
$ rm .hg/hgrc | ||||
$ touch foo | ||||
$ hg -q commit -A -m 'add foo' | ||||
$ hg --config paths.default-push=../a push | ||||
Matt Harbison
|
r35394 | pushing to $TESTTMP/a | ||
Gregory Szorc
|
r26820 | searching for changes | ||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
$ cd .. | ||||
Gregory Szorc
|
r26189 | Pushing to a path that isn't defined should not fall back to default | ||
$ hg --cwd b push doesnotexist | ||||
Martin von Zweigbergk
|
r46518 | abort: repository doesnotexist does not exist | ||
Gregory Szorc
|
r26189 | [255] | ||
Gregory Szorc
|
r27266 | |||
:pushurl is used when defined | ||||
$ hg -q clone a pushurlsource | ||||
$ hg -q clone a pushurldest | ||||
$ cd pushurlsource | ||||
Matt Harbison
|
r27437 | |||
Windows needs a leading slash to make a URL that passes all of the checks | ||||
$ WD=`pwd` | ||||
#if windows | ||||
$ WD="/$WD" | ||||
#endif | ||||
Gregory Szorc
|
r27266 | $ cat > .hg/hgrc << EOF | ||
> [paths] | ||||
> default = https://example.com/not/relevant | ||||
Matt Harbison
|
r27437 | > default:pushurl = file://$WD/../pushurldest | ||
Gregory Szorc
|
r27266 | > EOF | ||
$ touch pushurl | ||||
$ hg -q commit -A -m 'add pushurl' | ||||
$ hg push | ||||
pushing to file:/*/$TESTTMP/pushurlsource/../pushurldest (glob) | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
Gregory Szorc
|
r29413 | :pushrev is used when no -r is passed | ||
$ cat >> .hg/hgrc << EOF | ||||
> default:pushrev = . | ||||
> EOF | ||||
$ hg -q up -r 0 | ||||
$ echo head1 > foo | ||||
$ hg -q commit -A -m head1 | ||||
$ hg -q up -r 0 | ||||
$ echo head2 > foo | ||||
$ hg -q commit -A -m head2 | ||||
$ hg push -f | ||||
pushing to file:/*/$TESTTMP/pushurlsource/../pushurldest (glob) | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files (+1 heads) | ||||
$ hg --config 'paths.default:pushrev=draft()' push -f | ||||
pushing to file:/*/$TESTTMP/pushurlsource/../pushurldest (glob) | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files (+1 heads) | ||||
Invalid :pushrev raises appropriately | ||||
$ hg --config 'paths.default:pushrev=notdefined()' push | ||||
pushing to file:/*/$TESTTMP/pushurlsource/../pushurldest (glob) | ||||
hg: parse error: unknown identifier: notdefined | ||||
Martin von Zweigbergk
|
r46507 | [10] | ||
Gregory Szorc
|
r29413 | |||
$ hg --config 'paths.default:pushrev=(' push | ||||
pushing to file:/*/$TESTTMP/pushurlsource/../pushurldest (glob) | ||||
hg: parse error at 1: not a prefix: end | ||||
Ryan McElroy
|
r36703 | (( | ||
^ here) | ||||
Martin von Zweigbergk
|
r46507 | [10] | ||
Gregory Szorc
|
r29413 | |||
r47455 | default :pushrev is taking in account | |||
$ echo babar > foo | ||||
$ hg ci -m 'extra commit' | ||||
$ hg up '.^' | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ echo celeste > foo | ||||
$ hg ci -m 'extra other commit' | ||||
created new head | ||||
$ cat >> .hg/hgrc << EOF | ||||
> [paths] | ||||
> other = file://$WD/../pushurldest | ||||
> *:pushrev = . | ||||
> EOF | ||||
$ hg push other | ||||
pushing to file:/*/$TESTTMP/pushurlsource/../pushurldest (glob) | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
$ hg push file://$WD/../pushurldest | ||||
pushing to file:/*/$TESTTMP/pushurlsource/../pushurldest (glob) | ||||
searching for changes | ||||
no changes found | ||||
[1] | ||||
for comparison, pushing everything would give different result | ||||
$ hg push file://$WD/../pushurldest --rev 'all()' | ||||
pushing to file:/*/$TESTTMP/pushurlsource/../pushurldest (glob) | ||||
searching for changes | ||||
abort: push creates new remote head 1616ce7cecc8 | ||||
(merge or see 'hg help push' for details about pushing new heads) | ||||
[20] | ||||
Gregory Szorc
|
r27266 | $ cd .. | ||