diff --git a/hgext/mq.py b/hgext/mq.py --- a/hgext/mq.py +++ b/hgext/mq.py @@ -1699,7 +1699,7 @@ class queue(object): self.ui.write(_('renaming %s to %s\n') % (filename, patchname)) - os.rename(originpath, self.join(patchname)) + util.rename(originpath, self.join(patchname)) else: patchname = filename diff --git a/tests/test-mq-qimport b/tests/test-mq-qimport --- a/tests/test-mq-qimport +++ b/tests/test-mq-qimport @@ -118,3 +118,10 @@ hg qdel -k 2.diff echo % qimport -e --name newname oldexisitingpatch hg qimport -e --name this-name-is-better 2.diff hg qser +echo % qimport -e --name without --force +cp .hg/patches/this-name-is-better .hg/patches/3.diff +hg qimport -e --name this-name-is-better 3.diff +hg qser +echo % qimport -e --name with --force +hg qimport --force -e --name this-name-is-better 3.diff +hg qser diff --git a/tests/test-mq-qimport.out b/tests/test-mq-qimport.out --- a/tests/test-mq-qimport.out +++ b/tests/test-mq-qimport.out @@ -61,3 +61,12 @@ renaming 2.diff to this-name-is-better adding this-name-is-better to series file this-name-is-better url.diff +% qimport -e --name without --force +abort: patch "this-name-is-better" already exists +this-name-is-better +url.diff +% qimport -e --name with --force +renaming 3.diff to this-name-is-better +adding this-name-is-better to series file +this-name-is-better +url.diff