##// END OF EJS Templates
changegroup: don't support versions 01 and 02 with treemanifests...
changegroup: don't support versions 01 and 02 with treemanifests Since it would be terribly expensive to convert between flat manifests and treemanifests, we have decided to simply not support changegroup version 01 and 02 with treemanifests. Therefore, let's stop announcing that we support these versions on treemanifest repos. Note that this means that older clients that try to clone from a treemanifest repo will fail. What happens is that the server, after this patch, finds that there are no common versions and raises "ValueError: no common changegroup version". This results in "abort: HTTP Error 500: Internal Server Error" on the client. Before this patch, it was no better: The server would instead find that there were directory manifest nodes to put in the changegroup 01 or 02 and raise an AssertionError on changegroup.py#668 (assert not tmfnodes), which would also appear as a 500 to the client.

File last commit:

r25495:c63bf97c default
r27928:c0f11347 stable
Show More
test-subrepo-relative-path.t
105 lines | 2.9 KiB | text/troff | Tads3Lexer
/ tests / test-subrepo-relative-path.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require killdaemons
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
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Mads Kiilerich
tests: test subrepos with ssh urls
r14187
subrepo paths with ssh urls
Matt Harbison
tests: restore 'python' and '$TESTDIR/' for dummyssh invocation...
r25495 $ 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
Matt Harbison
tests: restore 'python' and '$TESTDIR/' for dummyssh invocation...
r25495 $ 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