Mercurial > hg
changeset 11699:da0b9109186d
mq: support "qimport --existing --name renametothis thatexistingpatch"
Before this change, the command would abort with a not too clear "patch
renametothis does not exist" error.
This change makes:
qimport --existing --name renametothis thatexistingpatch
equivalent to:
qimport --existing thatexistingpatch; qrename thatexistingpatch renametothis
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Wed, 21 Jul 2010 11:53:09 +0900 |
parents | 9df481f8036d |
children | 52c863295754 |
files | hgext/mq.py tests/test-mq-qimport tests/test-mq-qimport.out |
diffstat | 3 files changed, 34 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/mq.py Sat Jul 24 00:28:20 2010 +0900 +++ b/hgext/mq.py Wed Jul 21 11:53:09 2010 +0900 @@ -1687,11 +1687,22 @@ if existing: if filename == '-': raise util.Abort(_('-e is incompatible with import from -')) - if not patchname: - patchname = normname(filename) - self.check_reserved_name(patchname) - if not os.path.isfile(self.join(patchname)): - raise util.Abort(_("patch %s does not exist") % patchname) + filename = normname(filename) + self.check_reserved_name(filename) + originpath = self.join(filename) + if not os.path.isfile(originpath): + raise util.Abort(_("patch %s does not exist") % filename) + + if patchname: + self.check_reserved_name(patchname) + checkfile(patchname) + + self.ui.write(_('renaming %s to %s\n') + % (filename, patchname)) + os.rename(originpath, self.join(patchname)) + else: + patchname = filename + else: try: if filename == '-':
--- a/tests/test-mq-qimport Sat Jul 24 00:28:20 2010 +0900 +++ b/tests/test-mq-qimport Wed Jul 21 11:53:09 2010 +0900 @@ -109,3 +109,12 @@ hg qimport --push another.diff hg qfin -a hg qimport -rtip -P + +hg qpop -a +hg qdel -k 2.diff +echo % qimport -e +hg qimport -e 2.diff +hg qdel -k 2.diff +echo % qimport -e --name newname oldexisitingpatch +hg qimport -e --name this-name-is-better 2.diff +hg qser
--- a/tests/test-mq-qimport.out Sat Jul 24 00:28:20 2010 +0900 +++ b/tests/test-mq-qimport.out Wed Jul 21 11:53:09 2010 +0900 @@ -52,3 +52,12 @@ now at: another.diff patch b.diff finalized without changeset message patch another.diff finalized without changeset message +popping 2.diff +patch queue now empty +% qimport -e +adding 2.diff to series file +% qimport -e --name newname oldexisitingpatch +renaming 2.diff to this-name-is-better +adding this-name-is-better to series file +this-name-is-better +url.diff