Mercurial > hg
annotate tests/test-mactext.t @ 16110:41417443b7d0 stable
largefiles: check whether specified patterns are related to largefiles strictly
current 'lfiles_repo.status()' implementation examines whether
specified patterns are related to largefiles in working directory (not
to STANDIN) or not by NOT-EMPTY-NESS of below list:
[f for f in match.files() if f in lfdirstate]
but it can not be assumed that all in 'match.files()' are file itself
exactly, because user may only specify part of path to match whole
under subdirectories recursively.
above examination will mis-recognize such pattern as 'not related to
largefiles', and executes normal 'status()' procedure. so, 'hg status'
shows '?'(unknown) status for largefiles in working directory unexpectedly.
this patch examines relation of pattern to largefiles by applying
'match()' on each entries in lfdirstate and checking wheter there is
no matched entry.
it may increase cost of examination, because it causes of full scan of
entries in lfdirstate.
so this patch uses normal for-loop instead of list comprehensions, to
decrease cost when matching is found.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 15 Feb 2012 23:01:09 +0900 |
parents | 1e9451476bf8 |
children | 7985a9e2ddce |
rev | line source |
---|---|
6481
e837dded56c7
win32text: Add macencode/macdecode
OHASHI Hideya <ohachige@gmail.com>
parents:
diff
changeset
|
1 |
12458 | 2 $ cat > unix2mac.py <<EOF |
3 > import sys | |
4 > | |
5 > for path in sys.argv[1:]: | |
6 > data = file(path, 'rb').read() | |
7 > data = data.replace('\n', '\r') | |
8 > file(path, 'wb').write(data) | |
9 > EOF | |
10 $ cat > print.py <<EOF | |
11 > import sys | |
12 > print(sys.stdin.read().replace('\n', '<LF>').replace('\r', '<CR>').replace('\0', '<NUL>')) | |
13 > EOF | |
14 $ hg init | |
15 $ echo '[hooks]' >> .hg/hgrc | |
16 $ echo 'pretxncommit.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc | |
17 $ echo 'pretxnchangegroup.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc | |
18 $ cat .hg/hgrc | |
19 [hooks] | |
20 pretxncommit.cr = python:hgext.win32text.forbidcr | |
21 pretxnchangegroup.cr = python:hgext.win32text.forbidcr | |
15243
1e9451476bf8
tests: cleanup of echo statements left over from test conversion
Mads Kiilerich <mads@kiilerich.com>
parents:
12458
diff
changeset
|
22 |
12458 | 23 $ echo hello > f |
24 $ hg add f | |
25 $ hg ci -m 1 | |
15243
1e9451476bf8
tests: cleanup of echo statements left over from test conversion
Mads Kiilerich <mads@kiilerich.com>
parents:
12458
diff
changeset
|
26 |
12458 | 27 $ python unix2mac.py f |
28 $ hg ci -m 2 | |
29 Attempt to commit or push text file(s) using CR line endings | |
30 in dea860dc51ec: f | |
31 transaction abort! | |
32 rollback completed | |
33 abort: pretxncommit.cr hook failed | |
34 [255] | |
35 $ hg cat f | python print.py | |
36 hello<LF> | |
37 $ cat f | python print.py | |
38 hello<CR> |