##// END OF EJS Templates
mq: use dirstateguard instead of dirstate.invalidate (qpush)...
mq: use dirstateguard instead of dirstate.invalidate (qpush) Before this patch, "mq.queue.apply()" uses "dirstate.invalidate()" as a kind of "restore .hg/dirstate to the original status" during afailure. But it just discards changes in memory, and doesn't actually restore ".hg/dirstate". Then, it can't work as expected, if "dirstate.write()" is executed while processing. This patch uses "dirstateguard" instead of "dirstate.invalidate()" to restore ".hg/dirstate" at failure even if "dirstate.write()" is executed before failure. This is a part of preparations to fix the issue that the recent (in memory) dirstate isn't visible to external processes (e.g. "precommit" hook).

File last commit:

r22837:2be7d5eb default
r24996:58308dde default
Show More
test-pull-http.t
75 lines | 2.0 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require killdaemons
Matt Mackall
tests: unify test-pull-http
r12480
$ hg init test
$ cd test
$ echo a > a
$ hg ci -Ama
adding a
$ cd ..
$ hg clone test test2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd test2
$ echo a >> a
$ hg ci -mb
Augie Fackler
clone: don't save user's password in .hg/hgrc (Issue3122)
r15552 Cloning with a password in the URL should not save the password in .hg/hgrc:
$ hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
$ hg clone http://foo:xyzzy@localhost:$HGPORT/ test3
requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cat test3/.hg/hgrc
Jordi GutiƩrrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837 # example repository config (see "hg help config" for more info)
Augie Fackler
clone: don't save user's password in .hg/hgrc (Issue3122)
r15552 [paths]
default = http://foo@localhost:$HGPORT/
Jordi GutiƩrrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837
# path aliases to other clones of this repo in URLs or filesystem paths
# (see "hg help config.paths" for more info)
#
# default-push = ssh://jdoe@example.net/hg/jdoes-fork
# my-fork = ssh://jdoe@example.net/hg/jdoes-fork
# my-clone = /home/jdoe/jdoes-clone
[ui]
# name and email (local to this repository, optional), e.g.
# username = Jane Doe <jdoe@example.com>
Patrick Mezard
killdaemons: take file argument explicitely...
r17466 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
Augie Fackler
clone: don't save user's password in .hg/hgrc (Issue3122)
r15552
Matt Mackall
tests: unify test-pull-http
r12480 expect error, cloning not allowed
$ echo '[web]' > .hg/hgrc
$ echo 'allowpull = false' >> .hg/hgrc
$ hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
$ cat hg.pid >> $DAEMON_PIDS
Augie Fackler
clone: don't save user's password in .hg/hgrc (Issue3122)
r15552 $ hg clone http://localhost:$HGPORT/ test4
Matt Mackall
tests: unify test-pull-http
r12480 abort: authorization failed
[255]
Patrick Mezard
killdaemons: take file argument explicitely...
r17466 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
Matt Mackall
tests: unify test-pull-http
r12480
serve errors
$ cat errors.log
$ req() {
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
> cat hg.pid >> $DAEMON_PIDS
> hg --cwd ../test pull http://localhost:$HGPORT/
Patrick Mezard
tests: enable even more Windows server tests
r17565 > "$TESTDIR/killdaemons.py" hg.pid
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > echo % serve errors
> cat errors.log
Matt Mackall
tests: unify test-pull-http
r12480 > }
expect error, pulling not allowed
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pulling from http://localhost:$HGPORT/
Matt Mackall
tests: unify test-pull-http
r12480 abort: authorization failed
% serve errors
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..