##// END OF EJS Templates
py3: fix test-dirstate-race.t...
py3: fix test-dirstate-race.t Differential Revision: https://phab.mercurial-scm.org/D5106

File last commit:

r37574:b77aa48b default
r40332:e787d97e default
Show More
test-subrepo-recursion.t
712 lines | 24.8 KiB | text/troff | Tads3Lexer
/ tests / test-subrepo-recursion.t
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 Create test repository:
Martin Geisler
outgoing: recurse into subrepositories with --subrepos/-S flag...
r12272 $ hg init repo
$ cd repo
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 $ echo x1 > x.txt
$ hg init foo
$ cd foo
$ echo y1 > y.txt
$ hg init bar
$ cd bar
$ echo z1 > z.txt
$ cd ..
$ echo 'bar = bar' > .hgsub
$ cd ..
$ echo 'foo = foo' > .hgsub
Martin Geisler
add: recurse into subrepositories with --subrepos/-S flag
r12270
Add files --- .hgsub files must go first to trigger subrepos:
$ hg add -S .hgsub
$ hg add -S foo/.hgsub
$ hg add -S foo/bar
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 adding foo/bar/z.txt
Martin Geisler
add: recurse into subrepositories with --subrepos/-S flag
r12270 $ hg add -S
adding x.txt
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 adding foo/y.txt
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166
Martin Geisler
subrepos: handle modified but uncommitted .hgsub
r12175 Test recursive status without committing anything:
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg status -S
Martin Geisler
subrepos: handle modified but uncommitted .hgsub
r12175 A .hgsub
A foo/.hgsub
A foo/bar/z.txt
A foo/y.txt
A x.txt
Test recursive diff without committing anything:
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg diff --nodates -S foo
Martin Geisler
subrepos: handle modified but uncommitted .hgsub
r12175 diff -r 000000000000 foo/.hgsub
--- /dev/null
+++ b/foo/.hgsub
@@ -0,0 +1,1 @@
+bar = bar
diff -r 000000000000 foo/y.txt
--- /dev/null
+++ b/foo/y.txt
@@ -0,0 +1,1 @@
+y1
diff -r 000000000000 foo/bar/z.txt
--- /dev/null
+++ b/foo/bar/z.txt
@@ -0,0 +1,1 @@
+z1
Commits:
Martin Geisler
subrepos: abort commit by default if a subrepo is dirty (BC)...
r15321 $ hg commit -m fails
Matt Harbison
subrepo: make the output references to subrepositories consistent...
r33365 abort: uncommitted changes in subrepository "foo"
Martin Geisler
subrepos: abort commit by default if a subrepo is dirty (BC)...
r15321 (use --subrepos for recursive commit)
[255]
The --subrepos flag overwrite the config setting:
$ hg commit -m 0-0-0 --config ui.commitsubrepos=No --subrepos
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 committing subrepository foo
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 committing subrepository foo/bar
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166
$ cd foo
$ echo y2 >> y.txt
$ hg commit -m 0-1-0
$ cd bar
$ echo z2 >> z.txt
$ hg commit -m 0-1-1
$ cd ..
$ hg commit -m 0-2-1
$ cd ..
$ hg commit -m 1-2-1
Change working directory:
$ echo y3 >> foo/y.txt
$ echo z3 >> foo/bar/z.txt
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg status -S
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 M foo/bar/z.txt
M foo/y.txt
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg diff --nodates -S
Martin Geisler
diff: recurse into subrepositories with --subrepos/-S flag
r12167 diff -r d254738c5f5e foo/y.txt
--- a/foo/y.txt
+++ b/foo/y.txt
@@ -1,2 +1,3 @@
y1
y2
+y3
diff -r 9647f22de499 foo/bar/z.txt
--- a/foo/bar/z.txt
+++ b/foo/bar/z.txt
@@ -1,2 +1,3 @@
z1
z2
+z3
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166
Status call crossing repository boundaries:
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg status -S foo/bar/z.txt
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 M foo/bar/z.txt
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg status -S -I 'foo/?.txt'
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 M foo/y.txt
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg status -S -I '**/?.txt'
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 M foo/bar/z.txt
M foo/y.txt
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg diff --nodates -S -I '**/?.txt'
Martin Geisler
diff: recurse into subrepositories with --subrepos/-S flag
r12167 diff -r d254738c5f5e foo/y.txt
--- a/foo/y.txt
+++ b/foo/y.txt
@@ -1,2 +1,3 @@
y1
y2
+y3
diff -r 9647f22de499 foo/bar/z.txt
--- a/foo/bar/z.txt
+++ b/foo/bar/z.txt
@@ -1,2 +1,3 @@
z1
z2
+z3
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166
Status from within a subdirectory:
$ mkdir dir
$ cd dir
$ echo a1 > a.txt
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg status -S
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 M foo/bar/z.txt
M foo/y.txt
? dir/a.txt
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg diff --nodates -S
Martin Geisler
diff: recurse into subrepositories with --subrepos/-S flag
r12167 diff -r d254738c5f5e foo/y.txt
--- a/foo/y.txt
+++ b/foo/y.txt
@@ -1,2 +1,3 @@
y1
y2
+y3
diff -r 9647f22de499 foo/bar/z.txt
--- a/foo/bar/z.txt
+++ b/foo/bar/z.txt
@@ -1,2 +1,3 @@
z1
z2
+z3
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166
Status with relative path:
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg status -S ..
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 M ../foo/bar/z.txt
M ../foo/y.txt
? a.txt
Matt Harbison
largefiles: revert to lfilesrepo.status() being an unfiltered method...
r23958
XXX: filtering lfilesrepo.status() in 3.3-rc causes these files to be listed as
added instead of modified.
$ hg status -S .. --config extensions.largefiles=
M ../foo/bar/z.txt
M ../foo/y.txt
? a.txt
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg diff --nodates -S ..
Martin Geisler
diff: recurse into subrepositories with --subrepos/-S flag
r12167 diff -r d254738c5f5e foo/y.txt
--- a/foo/y.txt
+++ b/foo/y.txt
@@ -1,2 +1,3 @@
y1
y2
+y3
diff -r 9647f22de499 foo/bar/z.txt
--- a/foo/bar/z.txt
+++ b/foo/bar/z.txt
@@ -1,2 +1,3 @@
z1
z2
+z3
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 $ cd ..
Martin Geisler
diff: recurse into subrepositories with --subrepos/-S flag
r12167 Cleanup and final commit:
$ rm -r dir
Martin Geisler
subrepos: abort commit by default if a subrepo is dirty (BC)...
r15321 $ hg commit --subrepos -m 2-3-2
Martin Geisler
diff: recurse into subrepositories with --subrepos/-S flag
r12167 committing subrepository foo
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 committing subrepository foo/bar
Martin Geisler
diff: recurse into subrepositories with --subrepos/-S flag
r12167
David M. Carr
tests: add subrepo recursion tests for add/forget with explicit paths...
r15910 Test explicit path commands within subrepos: add/forget
$ echo z1 > foo/bar/z2.txt
$ hg status -S
? foo/bar/z2.txt
$ hg add foo/bar/z2.txt
$ hg status -S
A foo/bar/z2.txt
$ hg forget foo/bar/z2.txt
$ hg status -S
? foo/bar/z2.txt
FUJIWARA Katsunori
forget: show warning messages for forgetting in subrepo correctly...
r16070 $ hg forget foo/bar/z2.txt
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 not removing foo/bar/z2.txt: file is already untracked
FUJIWARA Katsunori
forget: show warning messages for forgetting in subrepo correctly...
r16070 [1]
$ hg status -S
? foo/bar/z2.txt
David M. Carr
tests: add subrepo recursion tests for add/forget with explicit paths...
r15910 $ rm foo/bar/z2.txt
Martin Geisler
diff: recurse into subrepositories with --subrepos/-S flag
r12167 Log with the relationships between repo and its subrepo:
$ hg log --template '{rev}:{node|short} {desc}\n'
2:1326fa26d0c0 2-3-2
1:4b3c9ff4f66b 1-2-1
0:23376cbba0d8 0-0-0
$ hg -R foo log --template '{rev}:{node|short} {desc}\n'
3:65903cebad86 2-3-2
2:d254738c5f5e 0-2-1
1:8629ce7dcc39 0-1-0
0:af048e97ade2 0-0-0
$ hg -R foo/bar log --template '{rev}:{node|short} {desc}\n'
2:31ecbdafd357 2-3-2
1:9647f22de499 0-1-1
0:4904098473f9 0-0-0
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 Status between revisions:
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg status -S
$ hg status -S --rev 0:1
Martin Geisler
status: recurse into subrepositories with --subrepos/-S flag
r12166 M .hgsubstate
M foo/.hgsubstate
M foo/bar/z.txt
M foo/y.txt
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg diff --nodates -S -I '**/?.txt' --rev 0:1
Martin Geisler
diff: recurse into subrepositories with --subrepos/-S flag
r12167 diff -r af048e97ade2 -r d254738c5f5e foo/y.txt
--- a/foo/y.txt
+++ b/foo/y.txt
@@ -1,1 +1,2 @@
y1
+y2
diff -r 4904098473f9 -r 9647f22de499 foo/bar/z.txt
--- a/foo/bar/z.txt
+++ b/foo/bar/z.txt
@@ -1,1 +1,2 @@
z1
+z2
Martin Geisler
outgoing: recurse into subrepositories with --subrepos/-S flag...
r12272
Matt Harbison
serve: add support for Mercurial subrepositories...
r32005 #if serve
$ cd ..
$ hg serve -R repo --debug -S -p $HGPORT -d --pid-file=hg1.pid -E error.log -A access.log
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 adding = $TESTTMP/repo
adding foo = $TESTTMP/repo/foo
adding foo/bar = $TESTTMP/repo/foo/bar
Matt Harbison
serve: add support for Mercurial subrepositories...
r32005 listening at http://*:$HGPORT/ (bound to *:$HGPORT) (glob) (?)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 adding = $TESTTMP/repo (?)
adding foo = $TESTTMP/repo/foo (?)
adding foo/bar = $TESTTMP/repo/foo/bar (?)
Matt Harbison
serve: add support for Mercurial subrepositories...
r32005 $ cat hg1.pid >> $DAEMON_PIDS
$ hg clone http://localhost:$HGPORT clone --config progress.disable=True
requesting all changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 5 changes to 3 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 23376cbba0d8:1326fa26d0c0
Matt Harbison
serve: add support for Mercurial subrepositories...
r32005 updating to branch default
cloning subrepo foo from http://localhost:$HGPORT/foo
requesting all changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 7 changes to 3 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets af048e97ade2:65903cebad86
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 cloning subrepo foo/bar from http://localhost:$HGPORT/foo/bar
Matt Harbison
serve: add support for Mercurial subrepositories...
r32005 requesting all changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 1 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 4904098473f9:31ecbdafd357
Matt Harbison
serve: add support for Mercurial subrepositories...
r32005 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cat clone/foo/bar/z.txt
z1
z2
z3
Matt Harbison
subrepo: activate clone pooling to enable sharing with remote URLs...
r36706 Clone pooling from a remote URL will share the top level repo and the subrepos,
even if they are referenced by remote URL.
Matt Harbison
test-subrepo: demonstrate problems with subrepo sharing and absolute paths...
r36704
$ hg --config extensions.share= --config share.pool=$TESTTMP/pool \
> clone http://localhost:$HGPORT shared
(sharing from new pooled repository 23376cbba0d87c15906bb3652584927c140907bf)
requesting all changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 5 changes to 3 files
new changesets 23376cbba0d8:1326fa26d0c0
searching for changes
no changes found
updating working directory
Matt Harbison
subrepo: don't attempt to share remote sources (issue5793)...
r36705 cloning subrepo foo from http://localhost:$HGPORT/foo
Matt Harbison
subrepo: activate clone pooling to enable sharing with remote URLs...
r36706 (sharing from new pooled repository af048e97ade2e236f754f05d07013e586af0f8bf)
Matt Harbison
subrepo: don't attempt to share remote sources (issue5793)...
r36705 requesting all changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 7 changes to 3 files
new changesets af048e97ade2:65903cebad86
Matt Harbison
subrepo: activate clone pooling to enable sharing with remote URLs...
r36706 searching for changes
no changes found
Matt Harbison
subrepo: don't attempt to share remote sources (issue5793)...
r36705 cloning subrepo foo/bar from http://localhost:$HGPORT/foo/bar
Matt Harbison
subrepo: activate clone pooling to enable sharing with remote URLs...
r36706 (sharing from new pooled repository 4904098473f96c900fec436dad267edd4da59fad)
Matt Harbison
subrepo: don't attempt to share remote sources (issue5793)...
r36705 requesting all changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 1 files
new changesets 4904098473f9:31ecbdafd357
Matt Harbison
subrepo: activate clone pooling to enable sharing with remote URLs...
r36706 searching for changes
no changes found
Matt Harbison
subrepo: don't attempt to share remote sources (issue5793)...
r36705 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Harbison
test-subrepo: demonstrate problems with subrepo sharing and absolute paths...
r36704
Matt Harbison
serve: add support for Mercurial subrepositories...
r32005 $ cat access.log
Gregory Szorc
httppeer: only advertise partial-pull if capabilities are known...
r37574 * "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
Matt Harbison
serve: add support for Mercurial subrepositories...
r32005 * "GET /?cmd=batch HTTP/1.1" 200 - * (glob)
* "GET /?cmd=getbundle HTTP/1.1" 200 - * (glob)
Gregory Szorc
httppeer: only advertise partial-pull if capabilities are known...
r37574 * "GET /foo?cmd=capabilities HTTP/1.1" 200 - (glob)
Matt Harbison
serve: add support for Mercurial subrepositories...
r32005 * "GET /foo?cmd=batch HTTP/1.1" 200 - * (glob)
* "GET /foo?cmd=getbundle HTTP/1.1" 200 - * (glob)
Gregory Szorc
httppeer: only advertise partial-pull if capabilities are known...
r37574 * "GET /foo/bar?cmd=capabilities HTTP/1.1" 200 - (glob)
Matt Harbison
serve: add support for Mercurial subrepositories...
r32005 * "GET /foo/bar?cmd=batch HTTP/1.1" 200 - * (glob)
* "GET /foo/bar?cmd=getbundle HTTP/1.1" 200 - * (glob)
Gregory Szorc
httppeer: only advertise partial-pull if capabilities are known...
r37574 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
Joerg Sonnenberger
wireproto: support for pullbundles...
r37516 $LOCALIP - - [$LOGDATE$] "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=0 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
Gregory Szorc
httppeer: only advertise partial-pull if capabilities are known...
r37574 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
Joerg Sonnenberger
wireproto: support for pullbundles...
r37516 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
$LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=1326fa26d0c00d2146c63b56bb6a45149d7325ac&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
$LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D1326fa26d0c00d2146c63b56bb6a45149d7325ac x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
$LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=0&common=1326fa26d0c00d2146c63b56bb6a45149d7325ac&heads=1326fa26d0c00d2146c63b56bb6a45149d7325ac&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
Gregory Szorc
httppeer: only advertise partial-pull if capabilities are known...
r37574 $LOCALIP - - [$LOGDATE$] "GET /foo?cmd=capabilities HTTP/1.1" 200 - (glob)
Joerg Sonnenberger
wireproto: support for pullbundles...
r37516 $LOCALIP - - [$LOGDATE$] "GET /foo?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=0 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
Gregory Szorc
httppeer: only advertise partial-pull if capabilities are known...
r37574 $LOCALIP - - [$LOGDATE$] "GET /foo?cmd=capabilities HTTP/1.1" 200 - (glob)
Joerg Sonnenberger
wireproto: support for pullbundles...
r37516 $LOCALIP - - [$LOGDATE$] "GET /foo?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
$LOCALIP - - [$LOGDATE$] "GET /foo?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=65903cebad86f1a84bd4f1134f62fa7dcb7a1c98&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
$LOCALIP - - [$LOGDATE$] "GET /foo?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D65903cebad86f1a84bd4f1134f62fa7dcb7a1c98 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
$LOCALIP - - [$LOGDATE$] "GET /foo?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=0&common=65903cebad86f1a84bd4f1134f62fa7dcb7a1c98&heads=65903cebad86f1a84bd4f1134f62fa7dcb7a1c98&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
Gregory Szorc
httppeer: only advertise partial-pull if capabilities are known...
r37574 $LOCALIP - - [$LOGDATE$] "GET /foo/bar?cmd=capabilities HTTP/1.1" 200 - (glob)
Joerg Sonnenberger
wireproto: support for pullbundles...
r37516 $LOCALIP - - [$LOGDATE$] "GET /foo/bar?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=0 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
Gregory Szorc
httppeer: only advertise partial-pull if capabilities are known...
r37574 $LOCALIP - - [$LOGDATE$] "GET /foo/bar?cmd=capabilities HTTP/1.1" 200 - (glob)
Joerg Sonnenberger
wireproto: support for pullbundles...
r37516 $LOCALIP - - [$LOGDATE$] "GET /foo/bar?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
$LOCALIP - - [$LOGDATE$] "GET /foo/bar?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=31ecbdafd357f54b281c9bd1d681bb90de219e22&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
$LOCALIP - - [$LOGDATE$] "GET /foo/bar?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D31ecbdafd357f54b281c9bd1d681bb90de219e22 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
$LOCALIP - - [$LOGDATE$] "GET /foo/bar?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=0&common=31ecbdafd357f54b281c9bd1d681bb90de219e22&heads=31ecbdafd357f54b281c9bd1d681bb90de219e22&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
Matt Harbison
serve: add support for Mercurial subrepositories...
r32005
$ killdaemons.py
$ rm hg1.pid error.log access.log
$ cd repo
#endif
Martin Geisler
subrepo: add progress bar support to archive
r13144 Enable progress extension for archive tests:
$ cp $HGRCPATH $HGRCPATH.no-progress
$ cat >> $HGRCPATH <<EOF
> [progress]
Pierre-Yves David
progress: move all logic altering the ui object logic in mercurial.ui...
r25499 > disable=False
Martin Geisler
subrepo: add progress bar support to archive
r13144 > assume-tty = 1
> delay = 0
Augie Fackler
test-subrepo-recursion: set progress.changedelay really high...
r24612 > # set changedelay really large so we don't see nested topics
> changedelay = 30000
Augie Fackler
progress using tests: disable time estimates to avoid flakiness
r13149 > format = topic bar number
Martin Geisler
subrepo: add progress bar support to archive
r13144 > refresh = 0
> width = 60
> EOF
Test archiving to a directory tree (the doubled lines in the output
only show up in the test output, not in real usage):
Martin Geisler
subrepo: add support for 'hg archive'
r12323
Mads Kiilerich
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
r17743 $ hg archive --subrepos ../archive
\r (no-eol) (esc)
archiving [ ] 0/3\r (no-eol) (esc)
archiving [=============> ] 1/3\r (no-eol) (esc)
archiving [===========================> ] 2/3\r (no-eol) (esc)
archiving [==========================================>] 3/3\r (no-eol) (esc)
\r (no-eol) (esc)
\r (no-eol) (esc)
archiving (foo) [ ] 0/3\r (no-eol) (esc)
archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
\r (no-eol) (esc)
\r (no-eol) (esc)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 archiving (foo/bar) [ ] 0/1\r (no-eol) (esc)
archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
Mads Kiilerich
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
r17743 \r (no-eol) (esc)
Patrick Mezard
test-subrepo-recursion: sort archive output for portability
r12363 $ find ../archive | sort
Martin Geisler
subrepo: add support for 'hg archive'
r12323 ../archive
Patrick Mezard
test-subrepo-recursion: sort archive output for portability
r12363 ../archive/.hg_archival.txt
../archive/.hgsub
../archive/.hgsubstate
Martin Geisler
subrepo: add support for 'hg archive'
r12323 ../archive/foo
Patrick Mezard
test-subrepo-recursion: sort archive output for portability
r12363 ../archive/foo/.hgsub
../archive/foo/.hgsubstate
Martin Geisler
subrepo: add support for 'hg archive'
r12323 ../archive/foo/bar
../archive/foo/bar/z.txt
../archive/foo/y.txt
../archive/x.txt
Matt Mackall
tests: fixup tests using unzip -l
r12339 Test archiving to zip file (unzip output is unstable):
Martin Geisler
subrepo: add support for 'hg archive'
r12323
Matt Harbison
archive: drop the leading '.' path component from the prefix (issue4634)...
r24953 $ hg archive --subrepos --prefix '.' ../archive.zip
Mads Kiilerich
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
r17743 \r (no-eol) (esc)
archiving [ ] 0/3\r (no-eol) (esc)
archiving [=============> ] 1/3\r (no-eol) (esc)
archiving [===========================> ] 2/3\r (no-eol) (esc)
archiving [==========================================>] 3/3\r (no-eol) (esc)
\r (no-eol) (esc)
\r (no-eol) (esc)
archiving (foo) [ ] 0/3\r (no-eol) (esc)
archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
\r (no-eol) (esc)
\r (no-eol) (esc)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 archiving (foo/bar) [ ] 0/1\r (no-eol) (esc)
archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
Mads Kiilerich
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
r17743 \r (no-eol) (esc)
Pierre-Yves David
test-subrepo-recursion: glob out all the date listed by unzip -l...
r24963
(unzip date formating is unstable, we do not care about it and glob it out)
Augie Fackler
tests: work around FreeBSD's unzip having slightly different output...
r30844 $ unzip -l ../archive.zip | grep -v -- ----- | egrep -v files$
Matt Harbison
archive: drop the leading '.' path component from the prefix (issue4634)...
r24953 Archive: ../archive.zip
Matt Harbison
test-subrepo-recursion: more aggressively regex 'unzip -l' output for 10.10...
r25610 Length [ ]* Date [ ]* Time [ ]* Name (re)
172 [0-9:\- ]* .hg_archival.txt (re)
10 [0-9:\- ]* .hgsub (re)
45 [0-9:\- ]* .hgsubstate (re)
3 [0-9:\- ]* x.txt (re)
10 [0-9:\- ]* foo/.hgsub (re)
45 [0-9:\- ]* foo/.hgsubstate (re)
9 [0-9:\- ]* foo/y.txt (re)
9 [0-9:\- ]* foo/bar/z.txt (re)
Martin Geisler
subrepo: add progress bar support to archive
r13144
Martin Geisler
subrepo: pull revisions on demand when archiving hg subrepos...
r15286 Test archiving a revision that references a subrepo that is not yet
cloned:
Augie Fackler
test-subrepo-recursion: fix output on non-hardlink systems...
r24613 #if hardlink
Martin Geisler
subrepo: pull revisions on demand when archiving hg subrepos...
r15286 $ hg clone -U . ../empty
Augie Fackler
clone: add progress support to hardlink clones (issue3059)
r24440 \r (no-eol) (esc)
linking [ <=> ] 1\r (no-eol) (esc)
linking [ <=> ] 2\r (no-eol) (esc)
linking [ <=> ] 3\r (no-eol) (esc)
linking [ <=> ] 4\r (no-eol) (esc)
linking [ <=> ] 5\r (no-eol) (esc)
linking [ <=> ] 6\r (no-eol) (esc)
linking [ <=> ] 7\r (no-eol) (esc)
linking [ <=> ] 8\r (no-eol) (esc)
Gregory Szorc
tests: conditionalize tests based on presence of revlogs for files...
r37356 linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !)
linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !)
linking [ <=> ] 11\r (no-eol) (esc) (reposimplestore !)
linking [ <=> ] 12\r (no-eol) (esc) (reposimplestore !)
Gregory Szorc
simplestore: back up index when adding a revision...
r37442 linking [ <=> ] 13\r (no-eol) (esc) (reposimplestore !)
Augie Fackler
clone: add progress support to hardlink clones (issue3059)
r24440 \r (no-eol) (esc)
Augie Fackler
test-subrepo-recursion: fix output on non-hardlink systems...
r24613 #else
$ hg clone -U . ../empty
\r (no-eol) (esc)
linking [ <=> ] 1 (no-eol)
#endif
Martin Geisler
subrepo: pull revisions on demand when archiving hg subrepos...
r15286 $ cd ../empty
Augie Fackler
test-subrepo-recursion: fix output on non-hardlink systems...
r24613 #if hardlink
Matt Harbison
archive: drop the leading '.' path component from the prefix (issue4634)...
r24953 $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz
Mads Kiilerich
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
r17743 \r (no-eol) (esc)
archiving [ ] 0/3\r (no-eol) (esc)
archiving [=============> ] 1/3\r (no-eol) (esc)
archiving [===========================> ] 2/3\r (no-eol) (esc)
archiving [==========================================>] 3/3\r (no-eol) (esc)
\r (no-eol) (esc)
\r (no-eol) (esc)
Augie Fackler
clone: add progress support to hardlink clones (issue3059)
r24440 linking [ <=> ] 1\r (no-eol) (esc)
linking [ <=> ] 2\r (no-eol) (esc)
linking [ <=> ] 3\r (no-eol) (esc)
linking [ <=> ] 4\r (no-eol) (esc)
linking [ <=> ] 5\r (no-eol) (esc)
linking [ <=> ] 6\r (no-eol) (esc)
linking [ <=> ] 7\r (no-eol) (esc)
linking [ <=> ] 8\r (no-eol) (esc)
Gregory Szorc
tests: conditionalize tests based on presence of revlogs for files...
r37356 linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !)
linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !)
linking [ <=> ] 11\r (no-eol) (esc) (reposimplestore !)
linking [ <=> ] 12\r (no-eol) (esc) (reposimplestore !)
linking [ <=> ] 13\r (no-eol) (esc) (reposimplestore !)
linking [ <=> ] 14\r (no-eol) (esc) (reposimplestore !)
Gregory Szorc
simplestore: back up index when adding a revision...
r37442 linking [ <=> ] 15\r (no-eol) (esc) (reposimplestore !)
linking [ <=> ] 16\r (no-eol) (esc) (reposimplestore !)
Augie Fackler
clone: add progress support to hardlink clones (issue3059)
r24440 \r (no-eol) (esc)
\r (no-eol) (esc)
Mads Kiilerich
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
r17743 archiving (foo) [ ] 0/3\r (no-eol) (esc)
archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
\r (no-eol) (esc)
\r (no-eol) (esc)
Augie Fackler
clone: add progress support to hardlink clones (issue3059)
r24440 linking [ <=> ] 1\r (no-eol) (esc)
linking [ <=> ] 2\r (no-eol) (esc)
linking [ <=> ] 3\r (no-eol) (esc)
linking [ <=> ] 4\r (no-eol) (esc)
linking [ <=> ] 5\r (no-eol) (esc)
linking [ <=> ] 6\r (no-eol) (esc)
Gregory Szorc
tests: conditionalize tests based on presence of revlogs for files...
r37356 linking [ <=> ] 7\r (no-eol) (esc) (reposimplestore !)
linking [ <=> ] 8\r (no-eol) (esc) (reposimplestore !)
Gregory Szorc
simplestore: back up index when adding a revision...
r37442 linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !)
Augie Fackler
clone: add progress support to hardlink clones (issue3059)
r24440 \r (no-eol) (esc)
\r (no-eol) (esc)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 archiving (foo/bar) [ ] 0/1\r (no-eol) (esc)
archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
Mads Kiilerich
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
r17743 \r (no-eol) (esc)
Martin Geisler
subrepo: pull revisions on demand when archiving hg subrepos...
r15286 cloning subrepo foo from $TESTTMP/repo/foo
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar
Augie Fackler
test-subrepo-recursion: fix output on non-hardlink systems...
r24613 #else
Note there's a slight output glitch on non-hardlink systems: the last
"linking" progress topic never gets closed, leading to slight output corruption on that platform.
Matt Harbison
archive: drop the leading '.' path component from the prefix (issue4634)...
r24953 $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz
Augie Fackler
test-subrepo-recursion: fix output on non-hardlink systems...
r24613 \r (no-eol) (esc)
archiving [ ] 0/3\r (no-eol) (esc)
archiving [=============> ] 1/3\r (no-eol) (esc)
archiving [===========================> ] 2/3\r (no-eol) (esc)
archiving [==========================================>] 3/3\r (no-eol) (esc)
\r (no-eol) (esc)
\r (no-eol) (esc)
linking [ <=> ] 1\r (no-eol) (esc)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar
Augie Fackler
test-subrepo-recursion: fix output on non-hardlink systems...
r24613 #endif
Mads Kiilerich
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
r17743
Matt Harbison
archive: always use portable path component separators with subrepos...
r24924 Archive + subrepos uses '/' for all component separators
$ tar -tzf ../archive.tar.gz | sort
Matt Harbison
archive: drop the leading '.' path component from the prefix (issue4634)...
r24953 .hg_archival.txt
.hgsub
.hgsubstate
foo/.hgsub
foo/.hgsubstate
foo/bar/z.txt
foo/y.txt
x.txt
Matt Harbison
archive: always use portable path component separators with subrepos...
r24924
Martin Geisler
subrepo: pull revisions on demand when archiving hg subrepos...
r15286 The newly cloned subrepos contain no working copy:
$ hg -R foo summary
parent: -1:000000000000 (no revision checked out)
branch: default
commit: (clean)
update: 4 new changesets (update)
Matt Harbison
test-subrepo: demonstrate problems with subrepo sharing and absolute paths...
r36704 Sharing a local repo without the locally referenced subrepo (i.e. it was never
updated from null), fails the same as a clone operation.
$ hg --config progress.disable=True clone -U ../empty ../empty2
$ hg --config extensions.share= --config progress.disable=True \
> share ../empty2 ../empty_share
updating working directory
abort: repository $TESTTMP/empty2/foo not found!
[255]
$ hg --config progress.disable=True clone ../empty2 ../empty_clone
updating to branch default
abort: repository $TESTTMP/empty2/foo not found!
[255]
Martin Geisler
subrepo: add progress bar support to archive
r13144 Disable progress extension and cleanup:
$ mv $HGRCPATH.no-progress $HGRCPATH
Martin Geisler
subrepo: add support for 'hg archive'
r12323
Martin Geisler
subrepo: abort in hgsubrepo._get if the destination is obstructed...
r15287 Test archiving when there is a directory in the way for a subrepo
created by archive:
$ hg clone -U . ../almost-empty
$ cd ../almost-empty
$ mkdir foo
$ echo f > foo/f
$ hg archive --subrepos -r tip archive
cloning subrepo foo from $TESTTMP/empty/foo
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 abort: destination '$TESTTMP/almost-empty/foo' is not empty (in subrepository "foo")
Martin Geisler
subrepo: abort in hgsubrepo._get if the destination is obstructed...
r15287 [255]
Martin Geisler
outgoing: recurse into subrepositories with --subrepos/-S flag...
r12272 Clone and test outgoing:
$ cd ..
$ hg clone repo repo2
updating to branch default
Martin Geisler
subrepo: create subrepos using clone instead of pull...
r14281 cloning subrepo foo from $TESTTMP/repo/foo
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar
Martin Geisler
outgoing: recurse into subrepositories with --subrepos/-S flag...
r12272 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd repo2
$ hg outgoing -S
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/repo
Martin Geisler
outgoing: recurse into subrepositories with --subrepos/-S flag...
r12272 searching for changes
no changes found
Mads Kiilerich
tests: remove redundant globs...
r12640 comparing with $TESTTMP/repo/foo
Martin Geisler
outgoing: recurse into subrepositories with --subrepos/-S flag...
r12272 searching for changes
no changes found
Mads Kiilerich
tests: remove redundant globs...
r12640 comparing with $TESTTMP/repo/foo/bar
Erik Zielke
incoming/outgoing: Fix recursion on sub repositories...
r12400 searching for changes
no changes found
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Martin Geisler
outgoing: recurse into subrepositories with --subrepos/-S flag...
r12272
Make nested change:
$ echo y4 >> foo/y.txt
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg diff --nodates -S
Martin Geisler
outgoing: recurse into subrepositories with --subrepos/-S flag...
r12272 diff -r 65903cebad86 foo/y.txt
--- a/foo/y.txt
+++ b/foo/y.txt
@@ -1,3 +1,4 @@
y1
y2
y3
+y4
Martin Geisler
subrepos: abort commit by default if a subrepo is dirty (BC)...
r15321 $ hg commit --subrepos -m 3-4-2
Martin Geisler
outgoing: recurse into subrepositories with --subrepos/-S flag...
r12272 committing subrepository foo
$ hg outgoing -S
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/repo
Martin Geisler
outgoing: recurse into subrepositories with --subrepos/-S flag...
r12272 searching for changes
changeset: 3:2655b8ecc4ee
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 3-4-2
Mads Kiilerich
tests: remove redundant globs...
r12640 comparing with $TESTTMP/repo/foo
Martin Geisler
outgoing: recurse into subrepositories with --subrepos/-S flag...
r12272 searching for changes
changeset: 4:e96193d6cb36
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 3-4-2
Mads Kiilerich
tests: remove redundant globs...
r12640 comparing with $TESTTMP/repo/foo/bar
Erik Zielke
incoming/outgoing: Fix recursion on sub repositories...
r12400 searching for changes
no changes found
Martin Geisler
incoming: recurse into subrepositories with --subrepos/-S flag...
r12274
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588
Martin Geisler
incoming: recurse into subrepositories with --subrepos/-S flag...
r12274 Switch to original repo and setup default path:
$ cd ../repo
$ echo '[paths]' >> .hg/hgrc
$ echo 'default = ../repo2' >> .hg/hgrc
Test incoming:
$ hg incoming -S
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 comparing with $TESTTMP/repo2
Martin Geisler
incoming: recurse into subrepositories with --subrepos/-S flag...
r12274 searching for changes
changeset: 3:2655b8ecc4ee
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 3-4-2
Mads Kiilerich
tests: remove redundant globs...
r12640 comparing with $TESTTMP/repo2/foo
Martin Geisler
incoming: recurse into subrepositories with --subrepos/-S flag...
r12274 searching for changes
changeset: 4:e96193d6cb36
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 3-4-2
Mads Kiilerich
tests: remove redundant globs...
r12640 comparing with $TESTTMP/repo2/foo/bar
Erik Zielke
incoming/outgoing: Fix recursion on sub repositories...
r12400 searching for changes
no changes found
Martin Geisler
incoming: recurse into subrepositories with --subrepos/-S flag...
r12274 $ hg incoming -S --bundle incoming.hg
abort: cannot combine --bundle and --subrepos
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
incoming: recurse into subrepositories with --subrepos/-S flag...
r12274
Martin Geisler
test-subrepo-recursion: test missing subrepo
r12275 Test missing subrepo:
$ rm -r foo
Erik Zielke
test-subrepo-recursion: deleted default arguments...
r12588 $ hg status -S
Wagner Bruna
subrepo: improve lookup error messages
r12503 warning: error "unknown revision '65903cebad86f1a84bd4f1134f62fa7dcb7a1c98'" in subrepository "foo"
trbs
subrepo: fix pruning of subrepo filenames in dirstate (issue2619)
r13339
Issue2619: IndexError: list index out of range on hg add with subrepos
The subrepo must sorts after the explicit filename.
$ cd ..
$ hg init test
$ cd test
$ hg init x
Matt Harbison
revert: evaluate subrepos to revert against the working directory...
r24464 $ echo abc > abc.txt
$ hg ci -Am "abc"
adding abc.txt
trbs
subrepo: fix pruning of subrepo filenames in dirstate (issue2619)
r13339 $ echo "x = x" >> .hgsub
$ hg add .hgsub
$ touch a x/a
$ hg add a x/a
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
Matt Harbison
revert: evaluate subrepos to revert against the working directory...
r24464 $ hg ci -Sm "added x"
committing subrepository x
$ echo abc > x/a
$ hg revert --rev '.^' "set:subrepo('glob:x*')"
abort: subrepository 'x' does not exist in 25ac2c9b3180!
[255]
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..