store: refactor the fncache handling
put all the fncache file writing and reading in
the same place.
[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf
commit should succeed
updating working directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
commit should fail
Attempt to commit or push text file(s) using CRLF line endings
in f583ea08d42a: f
transaction abort!
rollback completed
abort: pretxncommit.crlf hook failed
commits should succeed
push should fail
pushing to ../zoz
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
Attempt to commit or push text file(s) using CRLF line endings
in b94ebd309a6d: g
in b1aa5cde7ff4: f
To prevent this mistake in your local repository,
add to Mercurial.ini or .hg/hgrc:
[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
and also consider adding:
[extensions]
hgext.win32text =
[encode]
** = cleverencode:
[decode]
** = cleverdecode:
transaction abort!
rollback completed
abort: pretxnchangegroup.crlf hook failed
commit should succeed
push should succeed
pushing to ../zoz
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 2 files
and now for something completely different
Attempt to commit or push text file(s) using CRLF line endings
in cefdb8d0b741: d/f2
transaction abort!
rollback completed
abort: pretxncommit.crlf hook failed
forgetting d/f2
changeset: 5:d4ea9ae21be3
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: bin
description:
5
changeset: 4:6ba409927d51
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
4
changeset: 3:788a4e595187
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f g
description:
2.3
changeset: 2:b94ebd309a6d
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: g
description:
2.2
changeset: 1:b1aa5cde7ff4
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
2
changeset: 0:fcf06d5c4e1d
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
1
updating working directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding dupe/a
adding dupe/b
adding dupe/c
adding dupe/d
changeset: 8:7654104f33c3
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: d
description:
d
changeset: 7:9be4c2808cc9
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: b c
description:
b/c
changeset: 6:aa4367ed325a
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: a
description:
a
changeset: 5:d4ea9ae21be3
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: bin
description:
5
changeset: 4:6ba409927d51
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
4
changeset: 3:788a4e595187
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f g
description:
2.3
changeset: 2:b94ebd309a6d
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: g
description:
2.2
changeset: 1:b1aa5cde7ff4
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
2
changeset: 0:fcf06d5c4e1d
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
1
pulling from dupe
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 4 changes to 4 files
Attempt to commit or push text file(s) using CRLF line endings
in 7654104f33c3: d
in 9be4c2808cc9: b
in 9be4c2808cc9: c
To prevent this mistake in your local repository,
add to Mercurial.ini or .hg/hgrc:
[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
and also consider adding:
[extensions]
hgext.win32text =
[encode]
** = cleverencode:
[decode]
** = cleverdecode:
transaction abort!
rollback completed
abort: pretxnchangegroup.crlf hook failed
changeset: 5:d4ea9ae21be3
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: bin
description:
5
changeset: 4:6ba409927d51
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
4
changeset: 3:788a4e595187
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f g
description:
2.3
changeset: 2:b94ebd309a6d
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: g
description:
2.2
changeset: 1:b1aa5cde7ff4
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
2
changeset: 0:fcf06d5c4e1d
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
1
hello<NUL><CR><LF>
some<LF>text<LF>
rem empty<CR><LF>
[extensions]
win32text =
[decode]
** = cleverdecode:
[encode]
** = cleverencode:
WARNING: f4.bat already has CRLF line endings
and does not need EOL conversion by the win32text plugin.
Before your next commit, please reconsider your encode/decode settings in
Mercurial.ini or ..../.hg/hgrc.
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
hello<NUL><CR><LF>
some<CR><LF>text<CR><LF>
rem empty<CR><LF>
# empty<CR><LF>
# empty<LF>
% just linefeed<LF>
% just linefeed<LF>
no changes needed to linefeed
% just linefeed<LF>
M linefeed
reverting linefeed
% just linefeed<CR><LF>
# disable extension again
[extensions]
win32text =
[decode]
** = cleverdecode:
[encode]
** = cleverencode:
[decode]
** = !
[encode]
** = !
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
hello<NUL><CR><LF>
some<LF>text<LF>
rem empty<LF>