extdiff: preserve execute-bit across copies (
issue1562)
Bug report and test by Mads Kiilerich <mads@kiilerich.com>
[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf
Attempt to commit or push text file(s) using CRLF line endings
in b1aa5cde7ff4: f
transaction abort!
rollback completed
abort: pretxncommit.crlf hook failed
reverting f
Attempt to commit or push text file(s) using CRLF line endings
in 88b17af74937: d/f2
transaction abort!
rollback completed
abort: pretxncommit.crlf hook failed
forgetting d/f2
changeset: 2:b67b2dae057a
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: bin
description:
5
changeset: 1:c72a7d1d0907
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
4
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: 5:6e8a7629ff5b
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: d
description:
d
changeset: 4:ac30a42ce8bc
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: b c
description:
b/c
changeset: 3:a73b85ef1fb7
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: a
description:
a
changeset: 2:b67b2dae057a
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: bin
description:
5
changeset: 1:c72a7d1d0907
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
4
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 ac30a42ce8bc: b
in ac30a42ce8bc: c
in 6e8a7629ff5b: d
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: 2:b67b2dae057a
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: bin
description:
5
changeset: 1:c72a7d1d0907
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: f
description:
4
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>