changeset 14862:abf915f537be stable

eol: ignore IOError from deleted files in commitctx A Mercurial repo signals a file is deleted by raising IOError when the file's data is requested. This IOError is normally caught by localrepository.commitctx. With the eol extension enabled and EOL mappings in place, the eolrepo subclass should ignore IOError because a deleted file has no line endings to process. This issue exhibited itself when performing an incremental hg convert of a revision with deleted files to a repo with an existing .hgeol file.
author Nicholas Riley <njriley@illinois.edu>
date Tue, 12 Jul 2011 12:06:11 -0400
parents 6ed2a449cb5b
children 1c148e935244
files hgext/eol.py
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/eol.py	Fri Jul 08 20:24:19 2011 -0500
+++ b/hgext/eol.py	Tue Jul 12 12:06:11 2011 -0400
@@ -318,7 +318,10 @@
             for f in sorted(ctx.added() + ctx.modified()):
                 if not self._eolfile(f):
                     continue
-                data = ctx[f].data()
+                try:
+                    data = ctx[f].data()
+                except IOError:
+                    continue
                 if util.binary(data):
                     # We should not abort here, since the user should
                     # be able to say "** = native" to automatically