Unexpected- error: pretxncommit.eol hook failed: end-of-line check failed:

Mads Kiilerich mads at kiilerich.com
Thu Apr 16 21:30:39 UTC 2015


On 04/16/2015 04:53 PM, Ernie Rael wrote:
> Hi all,
>
> Is this expected? I thought the "look for nulls" algorithm was 
> liberally applied...

Yes. The eol extension will do what you tell it to do and apply the eol 
check on the patterns you configure. ** means all files - not just all 
"non-binary" files.

The null byte detection is used in places where getting it wrong not 
would be fatal. It would however be quite fatal if eol cleanup was 
applied on a binary file that just happened to not contain any nulls. I 
do thus not think it would be a good idea to have a 'all text files' 
matcher in the eol based on (lack of) null bytes. It could _perhaps_ 
make sense to have something that checked for no control characters at 
all and with something that really looks like all newline delimited lines.

/Mads

>
> -ernie
>
> $ hg --version
> Mercurial Distributed SCM (version 3.3.2)
>
> $ hg ci
> error: pretxncommit.eol hook failed: end-of-line check failed:
>   .../ScenicView.jar in 00f2468dd899 should not have CRLF line endings
>
> $ od -c 
> metaphysical.workbench/ScenicView/release/modules/ext/ScenicView.jar 
> |head
> 0000000   P   K 003 004  \n  \0  \0  \b  \b  \0 264 205 =   E  \0 \0
> 0000020  \0  \0 002  \0  \0  \0  \0  \0  \0  \0  \t  \0 \0  \0 M   E
> 0000040   T   A   -   I   N   F   / 003  \0   P   K 003 004  \n \0  \0
> 0000060  \b  \b  \0 264 205   =   E   w   ' 211   r   j \0  \0  \0 235
> 0000100  \0  \0  \0 024  \0  \0  \0   M   E   T   A   - I   N F   /
> 0000120   M   A   N   I   F   E   S   T   .   M   F 215 214 275 \n 203
>
> $ cat .hgeol
> [patterns]
> ** = native
>
> === from ~/.hgrc
> [eol]
> native = LF
> only-consistent = False
>
> [hooks]
> pretxncommit.eol = python:hgext.eol.checkheadshook
>
> _______________________________________________
> Mercurial mailing list
> Mercurial at selenic.com
> http://selenic.com/mailman/listinfo/mercurial




More information about the Mercurial mailing list