test-http-branchmap.t
97 lines
| 3.0 KiB
| text/troff
|
Tads3Lexer
/ tests / test-http-branchmap.t
Matt Mackall
|
r22046 | #require killdaemons | ||
Matt Mackall
|
r12447 | |||
$ hgserve() { | ||||
Patrick Mezard
|
r17467 | > hg serve -a localhost -p $HGPORT1 -d --pid-file=hg.pid \ | ||
> -E errors.log -v $@ > startup.log | ||||
> # Grepping hg serve stdout would hang on Windows | ||||
> grep -v 'listening at' startup.log | ||||
Matt Mackall
|
r12447 | > cat hg.pid >> "$DAEMON_PIDS" | ||
> } | ||||
$ hg init a | ||||
$ hg --encoding utf-8 -R a branch æ | ||||
Mads Kiilerich
|
r12942 | marked working directory as branch \xc3\xa6 (esc) | ||
Matt Mackall
|
r15615 | (branches are permanent and global, did you want a bookmark?) | ||
Matt Mackall
|
r12447 | $ echo foo > a/foo | ||
$ hg -R a ci -Am foo | ||||
adding foo | ||||
$ hgserve -R a --config web.push_ssl=False --config web.allow_push=* --encoding latin1 | ||||
$ hg --encoding utf-8 clone http://localhost:$HGPORT1 b | ||||
requesting all changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
Denis Laxalde
|
r34662 | new changesets 867c11ce77b8 | ||
Mads Kiilerich
|
r12942 | updating to branch \xc3\xa6 (esc) | ||
Matt Mackall
|
r12447 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
$ hg --encoding utf-8 -R b log | ||||
changeset: 0:867c11ce77b8 | ||||
Mads Kiilerich
|
r12942 | branch: \xc3\xa6 (esc) | ||
Matt Mackall
|
r12447 | tag: tip | ||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: foo | ||||
$ echo bar >> b/foo | ||||
$ hg -R b ci -m bar | ||||
$ hg --encoding utf-8 -R b push | ||||
Brodie Rao
|
r13815 | pushing to http://localhost:$HGPORT1/ | ||
Matt Mackall
|
r12447 | searching for changes | ||
remote: adding changesets | ||||
remote: adding manifests | ||||
remote: adding file changes | ||||
remote: added 1 changesets with 1 changes to 1 files | ||||
$ hg -R a --encoding utf-8 log | ||||
changeset: 1:58e7c90d67cb | ||||
Mads Kiilerich
|
r12942 | branch: \xc3\xa6 (esc) | ||
Matt Mackall
|
r12447 | tag: tip | ||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: bar | ||||
changeset: 0:867c11ce77b8 | ||||
Mads Kiilerich
|
r12942 | branch: \xc3\xa6 (esc) | ||
Matt Mackall
|
r12447 | user: test | ||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: foo | ||||
Matt Mackall
|
r25472 | $ killdaemons.py hg.pid | ||
Matt Mackall
|
r12447 | |||
verify 7e7d56fe4833 (encoding fallback in branchmap to maintain compatibility with 1.3.x) | ||||
$ cat <<EOF > oldhg | ||||
> import sys | ||||
> from mercurial import ui, hg, commands | ||||
> | ||||
> class StdoutWrapper(object): | ||||
> def __init__(self, stdout): | ||||
> self._file = stdout | ||||
> | ||||
> def write(self, data): | ||||
Augie Fackler
|
r36293 | > if data == b'47\n': | ||
Matt Mackall
|
r12447 | > # latin1 encoding is one %xx (3 bytes) shorter | ||
Augie Fackler
|
r36293 | > data = b'44\n' | ||
> elif data.startswith(b'%C3%A6 '): | ||||
Matt Mackall
|
r12447 | > # translate to latin1 encoding | ||
Augie Fackler
|
r36293 | > data = b'%%E6 %s' % data[7:] | ||
Matt Mackall
|
r12447 | > self._file.write(data) | ||
> | ||||
> def __getattr__(self, name): | ||||
> return getattr(self._file, name) | ||||
> | ||||
Augie Fackler
|
r36293 | > sys.stdout = StdoutWrapper(getattr(sys.stdout, 'buffer', sys.stdout)) | ||
> sys.stderr = StdoutWrapper(getattr(sys.stderr, 'buffer', sys.stderr)) | ||||
Matt Mackall
|
r12447 | > | ||
Yuya Nishihara
|
r30559 | > myui = ui.ui.load() | ||
Augie Fackler
|
r36293 | > repo = hg.repository(myui, b'a') | ||
Idan Kamara
|
r14647 | > commands.serve(myui, repo, stdio=True, cmdserver=False) | ||
Matt Mackall
|
r12447 | > EOF | ||
$ echo baz >> b/foo | ||||
$ hg -R b ci -m baz | ||||
Matt Harbison
|
r33335 | $ hg push -R b -e "\"$PYTHON\" oldhg" ssh://dummy/ --encoding latin1 | ||
Matt Mackall
|
r12447 | pushing to ssh://dummy/ | ||
searching for changes | ||||
remote: adding changesets | ||||
remote: adding manifests | ||||
remote: adding file changes | ||||
remote: added 1 changesets with 1 changes to 1 files | ||||