##// END OF EJS Templates
tests: use pattern matching to mask `ECONNREFUSED` messages...
tests: use pattern matching to mask `ECONNREFUSED` messages The second and third one of these in `test-http-proxy.t` was failing on Windows. The others were found by grep and by failed tests when output was matched and an attempt was made to emit the mask pattern. The first clonebundles failure on Windows emitted: error fetching bundle: [WinError 10061] $ECONNREFUSED$ We should probably stringify that better to get rid of the "[WinError 10061]" part.

File last commit:

r47927:89e11a6d default
r52835:73a43fe3 default
Show More
test-narrow-pull.t
154 lines | 3.5 KiB | text/troff | Tads3Lexer
$ . "$TESTDIR/narrow-library.sh"
$ hg init master
$ cd master
$ cat >> .hg/hgrc <<EOF
> [narrow]
> serveellipses=True
> EOF
$ for x in `$TESTDIR/seq.py 10`
> do
> echo $x > "f$x"
> hg add "f$x"
> hg commit -m "Commit f$x"
> done
$ cd ..
narrow clone a couple files, f2 and f8
$ hg clone --narrow ssh://user@dummy/master narrow --include "f2" --include "f8"
requesting all changes
adding changesets
adding manifests
adding file changes
added 5 changesets with 2 changes to 2 files
new changesets *:* (glob)
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd narrow
$ ls -A
.hg
f2
f8
$ cat f2 f8
2
8
$ cd ..
change every upstream file twice
$ cd master
$ for x in `$TESTDIR/seq.py 10`
> do
> echo "update#1 $x" >> "f$x"
> hg commit -m "Update#1 to f$x" "f$x"
> done
$ for x in `$TESTDIR/seq.py 10`
> do
> echo "update#2 $x" >> "f$x"
> hg commit -m "Update#2 to f$x" "f$x"
> done
$ cd ..
look for incoming changes
$ cd narrow
$ hg incoming --limit 3
comparing with ssh://user@dummy/master
searching for changes
changeset: 5:ddc055582556
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: Update#1 to f1
changeset: 6:f66eb5ad621d
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: Update#1 to f2
changeset: 7:c42ecff04e99
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: Update#1 to f3
Interrupting the pull is safe
$ hg --config hooks.pretxnchangegroup.bad=false pull -q
transaction abort!
rollback completed
abort: pretxnchangegroup.bad hook exited with status 1
[40]
$ hg id
223311e70a6f tip
pull new changes down to the narrow clone. Should get 8 new changesets: 4
relevant to the narrow spec, and 4 ellipsis nodes gluing them all together.
$ hg pull
pulling from ssh://user@dummy/master
searching for changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 4 changes to 2 files
new changesets *:* (glob)
(run 'hg update' to get a working copy)
$ hg log -T '{rev}: {desc}\n'
13: Update#2 to f10
12: Update#2 to f8
11: Update#2 to f7
10: Update#2 to f2
9: Update#2 to f1
8: Update#1 to f8
7: Update#1 to f7
6: Update#1 to f2
5: Update#1 to f1
4: Commit f10
3: Commit f8
2: Commit f7
1: Commit f2
0: Commit f1
$ hg update tip
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
add a change and push it
$ echo "update#3 2" >> f2
$ hg commit -m "Update#3 to f2" f2
$ hg log f2 -T '{rev}: {desc}\n'
14: Update#3 to f2
10: Update#2 to f2
6: Update#1 to f2
1: Commit f2
$ hg push
pushing to ssh://user@dummy/master
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
$ cd ..
$ cd master
$ hg log f2 -T '{rev}: {desc}\n'
30: Update#3 to f2
21: Update#2 to f2
11: Update#1 to f2
1: Commit f2
$ hg log -l 3 -T '{rev}: {desc}\n'
30: Update#3 to f2
29: Update#2 to f10
28: Update#2 to f9
Can pull into repo with a single commit
$ cd ..
$ hg clone -q --narrow ssh://user@dummy/master narrow2 --include "f1" -r 0
$ cd narrow2
$ hg pull -q -r 1
remote: abort: unexpected error: unable to resolve parent while packing '00manifest' 1 for changeset 0
transaction abort!
rollback completed
abort: pull failed on remote
[100]