# HG changeset patch # User Patrick Mezard # Date 1262544427 -3600 # Node ID 6e26e3c2083fa67987cca6849bf6f86221c31e7e # Parent d2847c4523e8fb21bec23a2ad04e2d3f9cdcae73 patch: explicitely close input patch files when leaving If applydiff() raises an exception, the opened patch file is kept alive in the exception context. If it is a temporary file (for instance supplied by import command with stdin input), Windows cannot clean it up. diff -r d2847c4523e8 -r 6e26e3c2083f mercurial/patch.py --- a/mercurial/patch.py Sun Jan 03 17:26:39 2010 +0100 +++ b/mercurial/patch.py Sun Jan 03 19:47:07 2010 +0100 @@ -1126,6 +1126,8 @@ finally: if cwd: os.chdir(curdir) + if fp != patchobj: + fp.close() if ret < 0: raise PatchError return ret > 0