From patchwork Wed Oct 22 14:10:32 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [stable] eol: fix crash when handling removed files From: Mads Kiilerich X-Patchwork-Id: 6441 Message-Id: <67e1820879c6287c8dac.1413987032@ssl.google-analytics.com> To: mercurial-devel@selenic.com Date: Wed, 22 Oct 2014 16:10:32 +0200 # HG changeset patch # User Mads Kiilerich # Date 1413987023 -7200 # Wed Oct 22 16:10:23 2014 +0200 # Branch stable # Node ID 67e1820879c6287c8daccdd4a69ea93fed8433f3 # Parent c1ae0b2c1719f56b906472efea8b20ca0774c968 eol: fix crash when handling removed files ci --amend would in some cases fail after 650b5b6e75ed failed to refactor the eol extension too. diff --git a/hgext/eol.py b/hgext/eol.py --- a/hgext/eol.py +++ b/hgext/eol.py @@ -333,10 +333,10 @@ def reposetup(ui, repo): for f in sorted(ctx.added() + ctx.modified()): if not self._eolfile(f): continue - try: - data = ctx[f].data() - except IOError: + fctx = ctx[f] + if fctx is None: continue + data = fctx.data() if util.binary(data): # We should not abort here, since the user should # be able to say "** = native" to automatically diff --git a/tests/test-eol.t b/tests/test-eol.t --- a/tests/test-eol.t +++ b/tests/test-eol.t @@ -525,4 +525,19 @@ append a line without trailing newline fourth fifth +amend of changesets with renamed/deleted files expose new code paths + + $ hg mv a.txt b.txt + $ hg ci --amend -q + $ hg diff -c. + diff --git a/a.txt b/b.txt + rename from a.txt + rename to b.txt + --- a/a.txt + +++ b/b.txt + @@ -1,2 +1,3 @@ + third + fourth + +fifth + $ cd ..