diff --git a/mercurial/repair.py b/mercurial/repair.py --- a/mercurial/repair.py +++ b/mercurial/repair.py @@ -181,7 +181,8 @@ def strip(ui, repo, nodelist, backup=Tru for i in xrange(offset, len(tr.entries)): file, troffset, ignore = tr.entries[i] - repo.svfs(file, 'a').truncate(troffset) + with repo.svfs(file, 'a', checkambig=True) as fp: + fp.truncate(troffset) if troffset == 0: repo.store.markremoved(file)