2010-09-26 22:43:21 +04:00
|
|
|
|
|
|
|
$ 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
|
2011-10-13 06:27:49 +04:00
|
|
|
|
2010-09-26 22:43:21 +04:00
|
|
|
$ echo hello > f
|
|
|
|
$ hg add f
|
|
|
|
$ hg ci -m 1
|
2011-10-13 06:27:49 +04:00
|
|
|
|
2017-06-20 16:45:02 +03:00
|
|
|
$ $PYTHON unix2mac.py f
|
2010-09-26 22:43:21 +04:00
|
|
|
$ hg ci -m 2
|
2012-06-12 16:18:18 +04:00
|
|
|
attempt to commit or push text file(s) using CR line endings
|
2010-09-26 22:43:21 +04:00
|
|
|
in dea860dc51ec: f
|
|
|
|
transaction abort!
|
|
|
|
rollback completed
|
|
|
|
abort: pretxncommit.cr hook failed
|
|
|
|
[255]
|
2017-06-20 16:45:02 +03:00
|
|
|
$ hg cat f | $PYTHON print.py
|
2010-09-26 22:43:21 +04:00
|
|
|
hello<LF>
|
2017-06-20 16:45:02 +03:00
|
|
|
$ cat f | $PYTHON print.py
|
2010-09-26 22:43:21 +04:00
|
|
|
hello<CR>
|