##// END OF EJS Templates
windows: add win32com.shell to demandimport ignore list...
windows: add win32com.shell to demandimport ignore list Module 'appdirs' tries to import win32com.shell (and catch ImportError as an indication of failure) to check whether some further functionality should be implemented one or another way [1]. Of course, demandimport lets it down, so if we want appdirs to work we have to add it to demandimport's ignore list. The reason we want appdirs to work is becuase it is used by setuptools [2] to determine egg cache location. Only fairly recent versions of setuptools depend on this so people don't see this often. [1] https://github.com/ActiveState/appdirs/blob/master/appdirs.py#L560 [2] https://github.com/pypa/setuptools/blob/aae0a928119d2a178882c32bded02270e30d0273/pkg_resources/__init__.py#L1369

File last commit:

r27524:f5b6b4e5 default
r31990:3e03a4b9 default
Show More
test-eol-hook.t
218 lines | 5.9 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: unify test-eol-hook
r12423 Test the EOL hook
$ hg init main
$ cat > main/.hg/hgrc <<EOF
> [hooks]
> pretxnchangegroup = python:hgext.eol.hook
> EOF
$ hg clone main fork
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd fork
Create repo
$ cat > .hgeol <<EOF
> [patterns]
> mixed.txt = BIN
Antoine Pitrou
eol: stop after first matched rule in hook (issue2660)...
r13501 > crlf.txt = CRLF
Matt Mackall
tests: unify test-eol-hook
r12423 > **.txt = native
> EOF
$ hg add .hgeol
$ hg commit -m 'Commit .hgeol'
$ printf "first\nsecond\nthird\n" > a.txt
$ hg add a.txt
$ hg commit -m 'LF a.txt'
$ hg push ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
$ printf "first\r\nsecond\r\nthird\n" > a.txt
$ hg commit -m 'CRLF a.txt'
$ hg push ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Patrick Mezard
eol: improve hook failure output...
r13649 error: pretxnchangegroup hook failed: end-of-line check failed:
a.txt in a8ee6548cd86 should not have CRLF line endings
Matt Mackall
tests: unify test-eol-hook
r12423 transaction abort!
rollback completed
Patrick Mezard
eol: improve hook failure output...
r13649 abort: end-of-line check failed:
a.txt in a8ee6548cd86 should not have CRLF line endings
Matt Mackall
tests: unify test-eol-hook
r12423 [255]
$ printf "first\nsecond\nthird\n" > a.txt
$ hg commit -m 'LF a.txt (fixed)'
$ hg push ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files
Antoine Pitrou
eol: stop after first matched rule in hook (issue2660)...
r13501
$ printf "first\nsecond\nthird\n" > crlf.txt
$ hg add crlf.txt
$ hg commit -m 'LF crlf.txt'
$ hg push ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Patrick Mezard
eol: improve hook failure output...
r13649 error: pretxnchangegroup hook failed: end-of-line check failed:
crlf.txt in 004ba2132725 should not have LF line endings
Antoine Pitrou
eol: stop after first matched rule in hook (issue2660)...
r13501 transaction abort!
rollback completed
Patrick Mezard
eol: improve hook failure output...
r13649 abort: end-of-line check failed:
crlf.txt in 004ba2132725 should not have LF line endings
Antoine Pitrou
eol: stop after first matched rule in hook (issue2660)...
r13501 [255]
$ printf "first\r\nsecond\r\nthird\r\n" > crlf.txt
$ hg commit -m 'CRLF crlf.txt (fixed)'
$ hg push ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files
Patrick Mezard
eol: make the hook check all new heads, not only tip (issue2666)...
r13616
$ printf "first\r\nsecond" > b.txt
$ hg add b.txt
$ hg commit -m 'CRLF b.txt'
$ hg push ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Patrick Mezard
eol: improve hook failure output...
r13649 error: pretxnchangegroup hook failed: end-of-line check failed:
b.txt in fbcf9b1025f5 should not have CRLF line endings
Patrick Mezard
eol: make the hook check all new heads, not only tip (issue2666)...
r13616 transaction abort!
rollback completed
Patrick Mezard
eol: improve hook failure output...
r13649 abort: end-of-line check failed:
b.txt in fbcf9b1025f5 should not have CRLF line endings
Patrick Mezard
eol: make the hook check all new heads, not only tip (issue2666)...
r13616 [255]
$ hg up -r -2
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ printf "some\nother\nfile" > c.txt
$ hg add c.txt
$ hg commit -m "LF c.txt, b.txt doesn't exist here"
created new head
$ hg push -f ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files (+1 heads)
Patrick Mezard
eol: improve hook failure output...
r13649 error: pretxnchangegroup hook failed: end-of-line check failed:
b.txt in fbcf9b1025f5 should not have CRLF line endings
Patrick Mezard
eol: make the hook check all new heads, not only tip (issue2666)...
r13616 transaction abort!
rollback completed
Patrick Mezard
eol: improve hook failure output...
r13649 abort: end-of-line check failed:
b.txt in fbcf9b1025f5 should not have CRLF line endings
Patrick Mezard
eol: make the hook check all new heads, not only tip (issue2666)...
r13616 [255]
Patrick Mezard
eol: rename hook into checkheadshook, add checkallhook (issue2665)...
r13617
Test checkheadshook alias
$ cat > ../main/.hg/hgrc <<EOF
> [hooks]
> pretxnchangegroup = python:hgext.eol.checkheadshook
> EOF
$ hg push -f ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files (+1 heads)
Patrick Mezard
eol: improve hook failure output...
r13649 error: pretxnchangegroup hook failed: end-of-line check failed:
b.txt in fbcf9b1025f5 should not have CRLF line endings
Patrick Mezard
eol: rename hook into checkheadshook, add checkallhook (issue2665)...
r13617 transaction abort!
rollback completed
Patrick Mezard
eol: improve hook failure output...
r13649 abort: end-of-line check failed:
b.txt in fbcf9b1025f5 should not have CRLF line endings
Patrick Mezard
eol: rename hook into checkheadshook, add checkallhook (issue2665)...
r13617 [255]
We can fix the head and push again
$ hg up 6
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ printf "first\nsecond" > b.txt
$ hg ci -m "remove CRLF from b.txt"
$ hg push -f ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 2 files (+1 heads)
$ hg -R ../main rollback
repository tip rolled back to revision 5 (undo push)
Test it still fails with checkallhook
$ cat > ../main/.hg/hgrc <<EOF
> [hooks]
> pretxnchangegroup = python:hgext.eol.checkallhook
> EOF
$ hg push -f ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 2 files (+1 heads)
Patrick Mezard
eol: improve hook failure output...
r13649 error: pretxnchangegroup hook failed: end-of-line check failed:
b.txt in fbcf9b1025f5 should not have CRLF line endings
Patrick Mezard
eol: rename hook into checkheadshook, add checkallhook (issue2665)...
r13617 transaction abort!
rollback completed
Patrick Mezard
eol: improve hook failure output...
r13649 abort: end-of-line check failed:
b.txt in fbcf9b1025f5 should not have CRLF line endings
Patrick Mezard
eol: rename hook into checkheadshook, add checkallhook (issue2665)...
r13617 [255]
But we can push the clean head
$ hg push -r7 -f ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Patrick Mezard
eol: improve hook failure output...
r13649 Test multiple files/revisions output
$ printf "another\r\nbad\r\none" > d.txt
$ hg add d.txt
$ hg ci -m "add d.txt"
$ hg push -f ../main
pushing to ../main
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 2 files (+1 heads)
error: pretxnchangegroup hook failed: end-of-line check failed:
Bryan O'Sullivan
eol: make output stable...
r27524 b.txt in fbcf9b1025f5 should not have CRLF line endings
Patrick Mezard
eol: improve hook failure output...
r13649 d.txt in a7040e68714f should not have CRLF line endings
transaction abort!
rollback completed
abort: end-of-line check failed:
Bryan O'Sullivan
eol: make output stable...
r27524 b.txt in fbcf9b1025f5 should not have CRLF line endings
Patrick Mezard
eol: improve hook failure output...
r13649 d.txt in a7040e68714f should not have CRLF line endings
[255]
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..