Mercurial > hg
view tests/test-mactext.t @ 16532:9eba72cdde34 stable
wireprotocol: use visibleheads as reference while unbundling (issue 3303)
The `repo` object here is *always* local. Using `repo.heads()` ensure we will
reject push if any secret changeset exists.
During discovery, `visibleheads` were sent to the peer. So we can only expect it
to send us `visibleheads` back. If any secret changeset exists::
visibleheads != repo.heads()
This fix server side part of issue 3303 when pushing over the wire.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 26 Apr 2012 03:47:17 +0200 |
parents | 1e9451476bf8 |
children | 7985a9e2ddce |
line wrap: on
line source
$ cat > unix2mac.py <<EOF > import sys > > for path in sys.argv[1:]: > data = file(path, 'rb').read() > data = data.replace('\n', '\r') > file(path, 'wb').write(data) > EOF $ cat > print.py <<EOF > import sys > print(sys.stdin.read().replace('\n', '<LF>').replace('\r', '<CR>').replace('\0', '<NUL>')) > EOF $ hg init $ echo '[hooks]' >> .hg/hgrc $ echo 'pretxncommit.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc $ echo 'pretxnchangegroup.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc $ cat .hg/hgrc [hooks] pretxncommit.cr = python:hgext.win32text.forbidcr pretxnchangegroup.cr = python:hgext.win32text.forbidcr $ echo hello > f $ hg add f $ hg ci -m 1 $ python unix2mac.py f $ hg ci -m 2 Attempt to commit or push text file(s) using CR line endings in dea860dc51ec: f transaction abort! rollback completed abort: pretxncommit.cr hook failed [255] $ hg cat f | python print.py hello<LF> $ cat f | python print.py hello<CR>