##// END OF EJS Templates
shelve: add a shelve extension to save/restore working changes...
shelve: add a shelve extension to save/restore working changes This extension saves shelved changes using a temporary draft commit, and bundles the temporary commit and its draft ancestors, then strips them. This strategy makes it possible to use Mercurial's bundle and merge machinery to resolve conflicts if necessary when unshelving, even when the destination commit or its ancestors have been amended, squashed, or evolved. (Once a change has been unshelved, its associated unbundled commits are either rolled back or stripped.) Storing the shelved change as a bundle also avoids the difficulty that hidden commits would cause, of making it impossible to amend the parent if it is a draft commits (a common scenario). Although this extension shares its name and some functionality with the third party hgshelve extension, it has little else in common. Notably, the hgshelve extension shelves changes as unified diffs, which makes conflict resolution a matter of finding .rej files and conflict markers, and cleaning up the mess by hand. We do not yet allow hunk-level choosing of changes to record. Compared to the hgshelve extension, this is a small regression in usability, but we hope to integrate that at a later point, once the record machinery becomes more reusable and robust.

File last commit:

r17539:bc737716 default
r19854:49d4919d default
Show More
test-subrepo-relative-path.t
105 lines | 2.9 KiB | text/troff | Tads3Lexer
/ tests / test-subrepo-relative-path.t
Patrick Mezard
tests: enable more server tests on Windows
r17539 $ "$TESTDIR/hghave" killdaemons || exit 80
Mads Kiilerich
tests: use 'hghave serve' to guard tests that requires serve daemon management
r15446
Martin Geisler
tests: unify test-subrepo-relative-path
r11915 Preparing the subrepository 'sub'
$ hg init sub
$ echo sub > sub/sub
$ hg add -R sub
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 adding sub/sub (glob)
Martin Geisler
tests: unify test-subrepo-relative-path
r11915 $ hg commit -R sub -m "sub import"
Preparing the 'main' repo which depends on the subrepo 'sub'
$ hg init main
$ echo main > main/main
$ echo "sub = ../sub" > main/.hgsub
$ hg clone sub main/sub
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg add -R main
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 adding main/.hgsub (glob)
adding main/main (glob)
Martin Geisler
tests: unify test-subrepo-relative-path
r11915 $ hg commit -R main -m "main import"
Cleaning both repositories, just as a clone -U
$ hg up -C -R sub null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg up -C -R main null
0 files updated, 0 files merged, 3 files removed, 0 files unresolved
$ rm -rf main/sub
Mads Kiilerich
tests: add missing no-outer-repo requirements...
r17015 hide outer repo
$ hg init
Martin Geisler
tests: unify test-subrepo-relative-path
r11915 Serving them both using hgweb
$ printf '[paths]\n/main = main\nsub = sub\n' > webdir.conf
$ hg serve --webdir-conf webdir.conf -a localhost -p $HGPORT \
> -A /dev/null -E /dev/null --pid-file hg.pid -d
$ cat hg.pid >> $DAEMON_PIDS
Clone main from hgweb
$ hg clone "http://localhost:$HGPORT/main" cloned
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 3 changes to 3 files
updating to branch default
Martin Geisler
subrepo: create subrepos using clone instead of pull...
r14281 cloning subrepo sub from http://localhost:$HGPORT/sub
Martin Geisler
tests: unify test-subrepo-relative-path
r11915 requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Checking cloned repo ids
$ hg id -R cloned
fdfeeb3e979e tip
$ hg id -R cloned/sub
863c1745b441 tip
subrepo debug for 'main' clone
$ hg debugsub -R cloned
path sub
source ../sub
revision 863c1745b441bd97a8c4a096e87793073f4fb215
Patrick Mezard
killdaemons: take file argument explicitely...
r17466 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
Mads Kiilerich
tests: test subrepos with ssh urls
r14187
subrepo paths with ssh urls
Adrian Buehlmann
test-subrepo-relative-path: partially adapt for Windows
r17093 $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/cloned sshclone
Mads Kiilerich
tests: test subrepos with ssh urls
r14187 requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 3 changes to 3 files
updating to branch default
Martin Geisler
subrepo: create subrepos using clone instead of pull...
r14281 cloning subrepo sub from ssh://user@dummy/sub
Mads Kiilerich
tests: test subrepos with ssh urls
r14187 requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Adrian Buehlmann
test-subrepo-relative-path: partially adapt for Windows
r17093 $ hg -R sshclone push -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/`pwd`/cloned
Mads Kiilerich
tests: test subrepos with ssh urls
r14187 pushing to ssh://user@dummy/$TESTTMP/cloned
pushing subrepo sub to ssh://user@dummy/$TESTTMP/sub
searching for changes
no changes found
searching for changes
no changes found
Matt Mackall
push: return 1 if no changes found (issue3228)...
r16023 [1]
Mads Kiilerich
tests: test subrepos with ssh urls
r14187
$ cat dummylog
Mads Kiilerich
sshrepo: don't quote obviously safe strings (issue2983)...
r15622 Got arguments 1:user@dummy 2:hg -R cloned serve --stdio
Got arguments 1:user@dummy 2:hg -R sub serve --stdio
Got arguments 1:user@dummy 2:hg -R $TESTTMP/cloned serve --stdio
Got arguments 1:user@dummy 2:hg -R $TESTTMP/sub serve --stdio