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
#!/usr/bin/env bash
hg init rebase
cd rebase
# @ 7: 'H'
# |
# | o 6: 'G'
# |/|
# o | 5: 'F'
# | |
# | o 4: 'E'
# |/
# | o 3: 'D'
# | |
# | o 2: 'C'
# | |
# | o 1: 'B'
# |/
# o 0: 'A'
echo A > A
hg ci -Am A
echo B > B
hg ci -Am B
echo C > C
hg ci -Am C
echo D > D
hg ci -Am D
hg up -q -C 0
echo E > E
hg ci -Am E
hg up -q -C 0
echo F > F
hg ci -Am F
hg merge -r 4
hg ci -m G
hg up -q -C 5
echo H > H
hg ci -Am H
hg bundle -a ../rebase.hg
cd ..
rm -Rf rebase