diff --git a/hgext/eol.py b/hgext/eol.py --- a/hgext/eol.py +++ b/hgext/eol.py @@ -176,6 +176,10 @@ def reposetup(ui, repo): self._decode['NATIVE'] = 'to-crlf' eol = config.config() + # Our files should not be touched. The pattern must be + # inserted first override a '** = native' pattern. + eol.set('patterns', '.hg*', 'BIN') + # We can then parse the user's patterns. eol.parse('.hgeol', data) if eol.get('repository', 'native') == 'CRLF': diff --git a/tests/test-eol-tag.t b/tests/test-eol-tag.t new file mode 100644 --- /dev/null +++ b/tests/test-eol-tag.t @@ -0,0 +1,40 @@ +http://mercurial.selenic.com/bts/issue2493 + +Testing tagging with the EOL extension + + $ cat > $HGRCPATH < [diff] + > git = True + > + > [extensions] + > eol = + > + > [eol] + > native = CRLF + > EOF + +setup repository + + $ hg init repo + $ cd repo + $ cat > .hgeol < [patterns] + > ** = native + > EOF + $ printf "first\r\nsecond\r\nthird\r\n" > a.txt + $ hg commit --addremove -m 'checkin' + adding .hgeol + adding a.txt + +Tag: + + $ hg tag 1.0 + +Rewrite .hgtags file as it would look on a new checkout: + + $ hg update -q null + $ hg update -q + +Touch .hgtags file again: + + $ hg tag 2.0