##// 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:

r25425:9263f86b stable
r26888:271a8020 stable
Show More
test-pull-r.t
144 lines | 3.3 KiB | text/troff | Tads3Lexer
$ hg init repo
$ cd repo
$ echo foo > foo
$ hg ci -qAm 'add foo'
$ echo >> foo
$ hg ci -m 'change foo'
$ hg up -qC 0
$ echo bar > bar
$ hg ci -qAm 'add bar'
$ hg log
changeset: 2:effea6de0384
tag: tip
parent: 0:bbd179dfa0a7
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add bar
changeset: 1:ed1b79f46b9a
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: change foo
changeset: 0:bbd179dfa0a7
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add foo
$ cd ..
don't show "(+1 heads)" message when pulling closed head
$ hg clone -q repo repo2
$ hg clone -q repo2 repo3
$ cd repo2
$ hg up -q 0
$ echo hello >> foo
$ hg ci -mx1
created new head
$ hg ci -mx2 --close-branch
$ cd ../repo3
$ hg heads -q --closed
2:effea6de0384
1:ed1b79f46b9a
$ hg pull
pulling from $TESTTMP/repo2 (glob)
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
$ hg heads -q --closed
4:00cfe9073916
2:effea6de0384
1:ed1b79f46b9a
$ cd ..
$ hg init copy
$ cd copy
Pull a missing revision:
$ hg pull -qr missing ../repo
abort: unknown revision 'missing'!
[255]
Pull multiple revisions with update:
$ hg pull -qu -r 0 -r 1 ../repo
$ hg -q parents
0:bbd179dfa0a7
$ hg rollback
repository tip rolled back to revision -1 (undo pull)
working directory now based on revision -1
$ hg pull -qr 0 ../repo
$ hg log
changeset: 0:bbd179dfa0a7
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add foo
$ hg pull -qr 1 ../repo
$ hg log
changeset: 1:ed1b79f46b9a
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: change foo
changeset: 0:bbd179dfa0a7
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add foo
This used to abort: received changelog group is empty:
$ hg pull -qr 1 ../repo
Test race condition with -r and -U (issue4707)
We pull '-U -r <name>' and the name change right after/during the changegroup emission.
We use http because http is better is our racy-est option.
$ echo babar > ../repo/jungle
$ cat <<EOF > ../repo/.hg/hgrc
> [hooks]
> outgoing.makecommit = hg ci -Am 'racy commit'; echo committed in pull-race
> EOF
$ hg -R ../repo serve -p $HGPORT2 -d --pid-file=../repo.pid
$ cat ../repo.pid >> $DAEMON_PIDS
$ hg pull --rev default --update http://localhost:$HGPORT2/
pulling from http://localhost:$HGPORT2/
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg log -G
@ changeset: 2:effea6de0384
| tag: tip
| parent: 0:bbd179dfa0a7
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: add bar
|
| o changeset: 1:ed1b79f46b9a
|/ user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: change foo
|
o changeset: 0:bbd179dfa0a7
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add foo
$ cd ..