diff --git a/mercurial/bundlerepo.py b/mercurial/bundlerepo.py --- a/mercurial/bundlerepo.py +++ b/mercurial/bundlerepo.py @@ -249,11 +249,13 @@ class bundlerepository(localrepo.localre def close(self): """Close assigned bundle file immediately.""" self.bundle.close() + if self.tempfile is not None: + os.unlink(self.tempfile) def __del__(self): del self.bundle - if tempfile is not None: - os.unlink(tempfile) + if self.tempfile is not None: + os.unlink(self.tempfile) if self._tempparent: shutil.rmtree(self._tempparent, True) diff --git a/mercurial/help/urls.txt b/mercurial/help/urls.txt --- a/mercurial/help/urls.txt +++ b/mercurial/help/urls.txt @@ -8,7 +8,7 @@ Valid URLs are of the form:: Paths in the local filesystem can either point to Mercurial repositories or to bundle files (as created by :hg:`bundle` or :hg:` -incoming --bundle`). +incoming --bundle`). See also :hg:`help paths`. An optional identifier after # indicates a particular branch, tag, or changeset to use from the remote repository. See also :hg:`help diff --git a/tests/test-mq-pull-from-bundle.t b/tests/test-mq-pull-from-bundle.t --- a/tests/test-mq-pull-from-bundle.t +++ b/tests/test-mq-pull-from-bundle.t @@ -33,6 +33,7 @@ Incoming to fresh repo: comparing with main.hg 0: main: one added 1: main: one updated + $ test -f ./fresh/.hg/hg-bundle* && echo 'temp. bundle file remained' || true $ hg -R fresh tincoming bundle:fresh+main.hg comparing with bundle:fresh+main.hg @@ -58,6 +59,7 @@ Bundle queue: $ hg -R .hg/patches bundle --base=null ../queue.hgq 1 changesets found + $ test -f ./fresh/.hg/hg-bundle* && echo 'temp. bundle file remained' || true $ cd .. @@ -75,6 +77,7 @@ Incoming queue bundle: $ hg -R .hg/patches tincoming ../queue.hgq comparing with ../queue.hgq 0: queue: two.patch added + $ test -f .hg/hg-bundle* && echo 'temp. bundle file remained' || true Pull queue bundle: @@ -87,6 +90,7 @@ Pull queue bundle: added 1 changesets with 3 changes to 3 files merging series 2 files updated, 1 files merged, 0 files removed, 0 files unresolved + $ test -f .hg/patches/hg-bundle* && echo 'temp. bundle file remained' || true $ hg -R .hg/patches theads 0: queue: two.patch added diff --git a/tests/test-mq-qnew.t b/tests/test-mq-qnew.t --- a/tests/test-mq-qnew.t +++ b/tests/test-mq-qnew.t @@ -107,7 +107,7 @@ plain headers abort: "foo#bar" cannot be used as the name of a patch abort: "foo:bar" cannot be used as the name of a patch % qnew with name containing slash - abort: cannot write patch "foo/": Is a directory + abort: cannot write patch "foo/": (Is a|No such file or) directory (re) abort: "foo" already exists as a directory foo/bar.patch popping foo/bar.patch @@ -172,7 +172,7 @@ hg headers abort: "foo#bar" cannot be used as the name of a patch abort: "foo:bar" cannot be used as the name of a patch % qnew with name containing slash - abort: cannot write patch "foo/": Is a directory + abort: cannot write patch "foo/": (Is a|No such file or) directory (re) abort: "foo" already exists as a directory foo/bar.patch popping foo/bar.patch