##// END OF EJS Templates
dockerlib: allow non-unique uid and gid of $DBUILDUSER (issue4657)...
dockerlib: allow non-unique uid and gid of $DBUILDUSER (issue4657) There are make targets for building mercurial packages for various distributions using docker. One of the preparation steps before building is to create inside the docker image a user with the same uid/gid as the current user on the host system, so that the resulting files have appropriate ownership/permissions. It's possible to run `make docker-<distro>` as a user with uid or gid that is already present in a vanilla docker container of that distibution. For example, issue4657 is about failing to build fedora packages as a user with uid=999 and gid=999 because these ids are already used in fedora, and groupadd fails. useradd would fail too, if the flow ever got to it (and there was a user with such uid already). A straightforward (maybe too much) way to fix this is to allow non-unique uid and gid for the new user and group that get created inside the image. I'm not sure of the implications of this, but marmoute encouraged me to try and send this patch for stable.

File last commit:

r25474:8c14f87b default
r26888:271a8020 stable
Show More
test-treediscovery.t
536 lines | 14.5 KiB | text/troff | Tads3Lexer
/ tests / test-treediscovery.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
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 Tests discovery against servers without getbundle support:
Pierre-Yves David
test-discovery: disable bundle2 for legacy test (issue4610)...
r25116 $ CAP="getbundle bundle2"
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 $ . "$TESTDIR/notcapable"
Martin Geisler
test-treediscovery: fix escaping for both dash and bash...
r14200 $ cat >> $HGRCPATH <<EOF
> [ui]
> logtemplate="{rev} {node|short}: {desc} {branches}\n"
> EOF
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199
Setup HTTP server control:
Mads Kiilerich
check-code: fix checking for sh style in .t tests...
r14203 $ remote=http://localhost:$HGPORT/
$ export remote
Jim Hague
treediscovery: rename stop() in tests to fix failures on AIX....
r14831 $ tstart() {
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 > echo '[web]' > $1/.hg/hgrc
> echo 'push_ssl = false' >> $1/.hg/hgrc
> echo 'allow_push = *' >> $1/.hg/hgrc
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 > hg serve -R $1 -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 > cat hg.pid >> $DAEMON_PIDS
> }
Jim Hague
treediscovery: rename stop() in tests to fix failures on AIX....
r14831 $ tstop() {
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 > killdaemons.py
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 > [ "$1" ] && cut -d' ' -f6- access.log && cat errors.log
> rm access.log errors.log
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 > }
Both are empty:
$ hg init empty1
$ hg init empty2
Jim Hague
treediscovery: rename stop() in tests to fix failures on AIX....
r14831 $ tstart empty2
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 $ hg incoming -R empty1 $remote
comparing with http://localhost:$HGPORT/
no changes found
[1]
$ hg outgoing -R empty1 $remote
comparing with http://localhost:$HGPORT/
no changes found
[1]
$ hg pull -R empty1 $remote
pulling from http://localhost:$HGPORT/
no changes found
$ hg push -R empty1 $remote
pushing to http://localhost:$HGPORT/
no changes found
Matt Mackall
push: return 1 if no changes found (issue3228)...
r16023 [1]
Jim Hague
treediscovery: rename stop() in tests to fix failures on AIX....
r14831 $ tstop
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199
Base repo:
$ hg init main
$ cd main
$ hg debugbuilddag -mo '+2:tbase @name1 +3:thead1 <tbase @name2 +4:thead2 @both /thead1 +2:tmaintip'
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 o 11 a19bfa7e7328: r11 both
|
o 10 8b6bad1512e1: r10 both
|
o 9 025829e08038: r9 both
|\
| o 8 d8f638ac69e9: r8 name2
| |
| o 7 b6b4d315a2ac: r7 name2
| |
| o 6 6c6f5d5f3c11: r6 name2
| |
| o 5 70314b29987d: r5 name2
| |
o | 4 e71dbbc70e03: r4 name1
| |
o | 3 2c8d5d5ec612: r3 name1
| |
o | 2 a7892891da29: r2 name1
|/
o 1 0019a3b924fd: r1
|
o 0 d57206cc072a: r0
$ cd ..
Jim Hague
treediscovery: rename stop() in tests to fix failures on AIX....
r14831 $ tstart main
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199
Full clone:
$ hg clone main full
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd full
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ hg pull $remote
pulling from http://localhost:$HGPORT/
searching for changes
no changes found
$ hg push $remote
pushing to http://localhost:$HGPORT/
searching for changes
no changes found
Matt Mackall
push: return 1 if no changes found (issue3228)...
r16023 [1]
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 $ cd ..
Local is empty:
$ cd empty1
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
0 d57206cc072a: r0
1 0019a3b924fd: r1
2 a7892891da29: r2 name1
3 2c8d5d5ec612: r3 name1
4 e71dbbc70e03: r4 name1
5 70314b29987d: r5 name2
6 6c6f5d5f3c11: r6 name2
7 b6b4d315a2ac: r7 name2
8 d8f638ac69e9: r8 name2
9 025829e08038: r9 both
10 8b6bad1512e1: r10 both
11 a19bfa7e7328: r11 both
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
no changes found
[1]
$ hg push $remote
pushing to http://localhost:$HGPORT/
no changes found
Matt Mackall
push: return 1 if no changes found (issue3228)...
r16023 [1]
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 $ hg pull $remote
pulling from http://localhost:$HGPORT/
requesting all changes
adding changesets
adding manifests
adding file changes
added 12 changesets with 24 changes to 2 files
(run 'hg update' to get a working copy)
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ cd ..
Local is subset:
$ hg clone main subset --rev name2 ; cd subset
adding changesets
adding manifests
adding file changes
added 6 changesets with 12 changes to 2 files
updating to branch name2
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
6 a7892891da29: r2 name1
7 2c8d5d5ec612: r3 name1
8 e71dbbc70e03: r4 name1
9 025829e08038: r9 both
10 8b6bad1512e1: r10 both
11 a19bfa7e7328: r11 both
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ hg push $remote
pushing to http://localhost:$HGPORT/
searching for changes
no changes found
Matt Mackall
push: return 1 if no changes found (issue3228)...
r16023 [1]
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 $ hg pull $remote
pulling from http://localhost:$HGPORT/
searching for changes
adding changesets
adding manifests
adding file changes
added 6 changesets with 12 changes to 2 files
(run 'hg update' to get a working copy)
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ cd ..
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstop
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199
Remote is empty:
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstart empty2
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 $ cd main
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
0 d57206cc072a: r0
1 0019a3b924fd: r1
2 a7892891da29: r2 name1
3 2c8d5d5ec612: r3 name1
4 e71dbbc70e03: r4 name1
5 70314b29987d: r5 name2
6 6c6f5d5f3c11: r6 name2
7 b6b4d315a2ac: r7 name2
8 d8f638ac69e9: r8 name2
9 025829e08038: r9 both
10 8b6bad1512e1: r10 both
11 a19bfa7e7328: r11 both
$ hg pull $remote
pulling from http://localhost:$HGPORT/
searching for changes
no changes found
$ hg push $remote
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 12 changesets with 24 changes to 2 files
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ cd ..
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstop
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199
Local is superset:
$ hg clone main subset2 --rev name2
adding changesets
adding manifests
adding file changes
added 6 changesets with 12 changes to 2 files
updating to branch name2
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Jim Hague
treediscovery: rename stop() in tests to fix failures on AIX....
r14831 $ tstart subset2
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199 $ cd main
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
2 a7892891da29: r2 name1
3 2c8d5d5ec612: r3 name1
4 e71dbbc70e03: r4 name1
9 025829e08038: r9 both
10 8b6bad1512e1: r10 both
11 a19bfa7e7328: r11 both
$ hg pull $remote
pulling from http://localhost:$HGPORT/
searching for changes
no changes found
$ hg push $remote
pushing to http://localhost:$HGPORT/
searching for changes
abort: push creates new remote branches: both, name1!
(use 'hg push --new-branch' to create new remote branches)
[255]
$ hg push $remote --new-branch
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 6 changesets with 12 changes to 2 files
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ cd ..
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstop
Peter Arrenbrecht
treediscovery: fix regression when run against older repos (issue2793)...
r14199
Peter Arrenbrecht
tests: add tests for partial pulls with treediscovery
r14410 Partial pull:
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstart main
Peter Arrenbrecht
tests: add tests for partial pulls with treediscovery
r14410 $ hg clone $remote partial --rev name2
adding changesets
adding manifests
adding file changes
added 6 changesets with 12 changes to 2 files
updating to branch name2
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd partial
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
6 a7892891da29: r2 name1
7 2c8d5d5ec612: r3 name1
8 e71dbbc70e03: r4 name1
9 025829e08038: r9 both
10 8b6bad1512e1: r10 both
11 a19bfa7e7328: r11 both
$ hg incoming $remote --rev name1
comparing with http://localhost:$HGPORT/
searching for changes
6 a7892891da29: r2 name1
7 2c8d5d5ec612: r3 name1
8 e71dbbc70e03: r4 name1
$ hg pull $remote --rev name1
pulling from http://localhost:$HGPORT/
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 6 changes to 2 files (+1 heads)
(run 'hg heads' to see heads)
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
9 025829e08038: r9 both
10 8b6bad1512e1: r10 both
11 a19bfa7e7328: r11 both
$ cd ..
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstop
Peter Arrenbrecht
tests: add tests for partial pulls with treediscovery
r14410
Peter Arrenbrecht
treediscovery: always return all remote heads...
r14698 Both have new stuff in new named branches:
$ hg clone main repo1a --rev name1 -q
$ hg clone repo1a repo1b -q
$ hg clone main repo2a --rev name2 -q
$ hg clone repo2a repo2b -q
Jim Hague
treediscovery: rename stop() in tests to fix failures on AIX....
r14831 $ tstart repo1a
Peter Arrenbrecht
treediscovery: always return all remote heads...
r14698
$ cd repo2a
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
6 a7892891da29: r2 name1
7 2c8d5d5ec612: r3 name1
8 e71dbbc70e03: r4 name1
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
2 70314b29987d: r5 name2
3 6c6f5d5f3c11: r6 name2
4 b6b4d315a2ac: r7 name2
5 d8f638ac69e9: r8 name2
$ hg push $remote --new-branch
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 4 changesets with 8 changes to 2 files (+1 heads)
$ hg pull $remote
pulling from http://localhost:$HGPORT/
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 6 changes to 2 files (+1 heads)
(run 'hg heads' to see heads)
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ cd ..
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstop
Peter Arrenbrecht
treediscovery: always return all remote heads...
r14698
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstart repo1b
Peter Arrenbrecht
treediscovery: always return all remote heads...
r14698 $ cd repo2b
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
6 a7892891da29: r2 name1
7 2c8d5d5ec612: r3 name1
8 e71dbbc70e03: r4 name1
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
2 70314b29987d: r5 name2
3 6c6f5d5f3c11: r6 name2
4 b6b4d315a2ac: r7 name2
5 d8f638ac69e9: r8 name2
$ hg pull $remote
pulling from http://localhost:$HGPORT/
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 6 changes to 2 files (+1 heads)
(run 'hg heads' to see heads)
$ hg push $remote --new-branch
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 4 changesets with 8 changes to 2 files (+1 heads)
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ cd ..
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstop
Peter Arrenbrecht
treediscovery: always return all remote heads...
r14698
Both have new stuff in existing named branches:
$ rm -r repo1a repo1b repo2a repo2b
$ hg clone main repo1a --rev 3 --rev 8 -q
$ hg clone repo1a repo1b -q
$ hg clone main repo2a --rev 4 --rev 7 -q
$ hg clone repo2a repo2b -q
Jim Hague
treediscovery: rename stop() in tests to fix failures on AIX....
r14831 $ tstart repo1a
Peter Arrenbrecht
treediscovery: always return all remote heads...
r14698
$ cd repo2a
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
8 d8f638ac69e9: r8 name2
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
4 e71dbbc70e03: r4 name1
$ hg push $remote --new-branch
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 2 changes to 2 files
$ hg pull $remote
pulling from http://localhost:$HGPORT/
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files
(run 'hg update' to get a working copy)
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ cd ..
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstop
Peter Arrenbrecht
treediscovery: always return all remote heads...
r14698
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstart repo1b
Peter Arrenbrecht
treediscovery: always return all remote heads...
r14698 $ cd repo2b
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
8 d8f638ac69e9: r8 name2
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
4 e71dbbc70e03: r4 name1
$ hg pull $remote
pulling from http://localhost:$HGPORT/
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files
(run 'hg update' to get a working copy)
$ hg push $remote --new-branch
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 2 changes to 2 files
$ hg incoming $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ hg outgoing $remote
comparing with http://localhost:$HGPORT/
searching for changes
no changes found
[1]
$ cd ..
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 $ tstop show
"GET /?cmd=capabilities HTTP/1.1" 200 -
"GET /?cmd=heads HTTP/1.1" 200 -
"GET /?cmd=branches HTTP/1.1" 200 - x-hgarg-1:nodes=d8f638ac69e9ae8dea4f09f11d696546a912d961
"GET /?cmd=between HTTP/1.1" 200 - x-hgarg-1:pairs=d8f638ac69e9ae8dea4f09f11d696546a912d961-d57206cc072a18317c1e381fb60aa31bd3401785
Mads Kiilerich
incoming: don't request heads that already are common...
r22182 "GET /?cmd=changegroupsubset HTTP/1.1" 200 - x-hgarg-1:bases=d8f638ac69e9ae8dea4f09f11d696546a912d961&heads=d8f638ac69e9ae8dea4f09f11d696546a912d961
Eric Sumner
incoming: handle phases the same as pull...
r23633 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 "GET /?cmd=capabilities HTTP/1.1" 200 -
"GET /?cmd=heads HTTP/1.1" 200 -
"GET /?cmd=branches HTTP/1.1" 200 - x-hgarg-1:nodes=d8f638ac69e9ae8dea4f09f11d696546a912d961
"GET /?cmd=between HTTP/1.1" 200 - x-hgarg-1:pairs=d8f638ac69e9ae8dea4f09f11d696546a912d961-d57206cc072a18317c1e381fb60aa31bd3401785
"GET /?cmd=capabilities HTTP/1.1" 200 -
"GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks
"GET /?cmd=heads HTTP/1.1" 200 -
"GET /?cmd=branches HTTP/1.1" 200 - x-hgarg-1:nodes=d8f638ac69e9ae8dea4f09f11d696546a912d961
"GET /?cmd=between HTTP/1.1" 200 - x-hgarg-1:pairs=d8f638ac69e9ae8dea4f09f11d696546a912d961-d57206cc072a18317c1e381fb60aa31bd3401785
Pierre-Yves David
discovery: properly exclude locally known but filtered heads...
r23975 "GET /?cmd=changegroupsubset HTTP/1.1" 200 - x-hgarg-1:bases=d8f638ac69e9ae8dea4f09f11d696546a912d961&heads=d8f638ac69e9ae8dea4f09f11d696546a912d961
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases
"GET /?cmd=capabilities HTTP/1.1" 200 -
"GET /?cmd=heads HTTP/1.1" 200 -
Pierre-Yves David
test-treediscovery: update output after merge...
r22214 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases
Pierre-Yves David
push: move bookmark discovery with other discovery steps...
r22239 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks
Mads Kiilerich
tests: improve test coverage for discovery and actual parameters for pulling
r22181 "GET /?cmd=branchmap HTTP/1.1" 200 -
"GET /?cmd=branchmap HTTP/1.1" 200 -
"GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks
"POST /?cmd=unbundle HTTP/1.1" 200 - x-hgarg-1:heads=686173686564+1827a5bb63e602382eb89dd58f2ac9f3b007ad91
"GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases
"GET /?cmd=capabilities HTTP/1.1" 200 -
"GET /?cmd=heads HTTP/1.1" 200 -
"GET /?cmd=capabilities HTTP/1.1" 200 -
"GET /?cmd=heads HTTP/1.1" 200 -