Mercurial > hg
view tests/test-narrow-update.t @ 37012:fc8939825632
debugcommands: support connecting to HTTP peers
Now that we have the plumbing for logging socket activity, let's hook
it up to `hg debugwireproto` so we can collect low-level activity on
sockets.
The new code is a bit incomplete. But it is better than nothing:
`hg debugwireproto` is still heavily evolving.
The added test demonstrates some interesting behavior. For example,
we're calling socket.makefile() and doing I/O on that. TIL. We're also
sending an "Accept-Encoding: identity" request header.
Differential Revision: https://phab.mercurial-scm.org/D2726
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 13 Mar 2018 10:02:03 -0700 |
parents | 6767e7ce2c31 |
children | 009d0283de5f |
line wrap: on
line source
$ . "$TESTDIR/narrow-library.sh" create full repo $ hg init master $ cd master $ echo init > init $ hg ci -Aqm 'initial' $ mkdir inside $ echo inside > inside/f1 $ mkdir outside $ echo outside > outside/f1 $ hg ci -Aqm 'add inside and outside' $ echo modified > inside/f1 $ hg ci -qm 'modify inside' $ echo modified > outside/f1 $ hg ci -qm 'modify outside' $ cd .. $ hg clone --narrow ssh://user@dummy/master narrow --include inside requesting all changes adding changesets adding manifests adding file changes added 4 changesets with 2 changes to 1 files new changesets *:* (glob) updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd narrow $ hg debugindex -c rev offset length base linkrev nodeid p1 p2 0 0 64 0 0 9958b1af2add 000000000000 000000000000 1 64 81 1 1 2db4ce2a3bfe 9958b1af2add 000000000000 2 145 75 2 2 0980ee31a742 2db4ce2a3bfe 000000000000 3 220 (76|77) 3 3 4410145019b7 0980ee31a742 000000000000 (re) $ hg update -q 0 Can update to revision with changes inside $ hg update -q 'desc("add inside and outside")' $ hg update -q 'desc("modify inside")' $ find * inside inside/f1 $ cat inside/f1 modified Can update to revision with changes outside $ hg update -q 'desc("modify outside")' $ find * inside inside/f1 $ cat inside/f1 modified Can update with a deleted file inside $ hg rm inside/f1 $ hg update -q 'desc("modify inside")' $ hg update -q 'desc("modify outside")' $ hg update -q 'desc("initial")' $ hg update -q 'desc("modify inside")' Can update with a moved file inside $ hg mv inside/f1 inside/f2 $ hg update -q 'desc("modify outside")' $ hg update -q 'desc("initial")' $ hg update -q 'desc("modify inside")'