mirror of
https://github.com/facebook/sapling.git
synced 2025-01-07 14:10:42 +03:00
e5d7bd82c5
Spotted one of these, then wrote a check-code rule that caught them all. It will be the next change.
39 lines
1022 B
Perl
39 lines
1022 B
Perl
|
|
$ 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>
|