Mercurial > hg
view tests/test-mactext.t @ 26003:62371c539c89
revset: remove grandparent by using reachableroots
This patch is part of a series of patches to speed up the computation of
revset.reachableroots by introducing a C implementation. The main motivation
is to speed up smartlog on big repositories. At the end of the series, on our
big repositories the computation of reachableroots is 10-50x faster and
smartlog on is 2x-5x faster.
Before this patch, we had a custom computation for grandparent that was very
close to the idea of reacheablerooots. This patch expresses grandparent with
reachableroots to reduce the amount of code.
author | Laurent Charignon <lcharignon@fb.com> |
---|---|
date | Fri, 19 Jun 2015 20:28:52 -0700 |
parents | 7985a9e2ddce |
children | 75be14993fda |
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>