Mercurial > hg
view tests/test-url-rev @ 9717:68a1b9d0663e
update: allow branch crossing without -c or -C, with no uncommitted changes
Update will now allow crossing branches within the same named branch,
when given a specific revision, if the working dir is clean, without
requiring the -c or -C option. Abort if no revision is given and
this would cross branches. Minor change to abort message if
uncommitted changes are found.
Modify test-update-branches and output to reflect the altered case. Modify
test-merge5.out to reflect the altered case. Modify
test-up-local-change.out with new message.
author | Stuart W Marks <smarks@smarks.org> |
---|---|
date | Thu, 05 Nov 2009 10:53:59 +0100 |
parents | 6c82beaaa11a |
children |
line wrap: on
line source
#!/bin/sh # test basic functionality of url#rev syntax hg init repo cd repo echo a > a hg ci -qAm 'add a' hg branch foo echo >> a hg ci -m 'change a' cd .. echo '% clone repo#foo' hg clone 'repo#foo' clone echo '% heads' hg --cwd clone heads echo '% parents' hg --cwd clone parents sed -e 's/default.*#/default = #/' clone/.hg/hgrc echo echo '% changing original repo' cd repo echo >> a hg ci -m 'new head of branch foo' hg up -qC default echo bar > bar hg ci -qAm 'add bar' hg log echo echo '% outgoing' hg -q outgoing '../clone#foo' echo echo '% push' hg -q push '../clone#foo' hg --cwd ../clone heads cd .. echo echo '% rolling back' cd clone hg rollback echo '% incoming' hg -q incoming echo '% pull' hg -q pull hg heads echo echo '% pull should not have updated' hg parents -q echo '% going back to the default branch' hg up -C 0 hg parents echo '% no new revs, no update' hg pull -qu hg parents -q echo '% rollback' hg rollback hg up -C 0 hg parents -q echo '% pull -u takes us back to branch foo' hg pull -qu hg parents echo '% rollback' hg rollback hg up -C 0 echo '% parents' hg parents -q echo '% heads' hg heads -q echo '% pull -u -r otherrev url#rev updates to rev' hg pull -qur default default echo '% parents' hg parents echo '% heads' hg heads