Mercurial > hg
changeset 12879:da4a9ed369c8 stable
qnew: distinguish between existing file and directory (issue2464)
author | Martin Geisler <mg@aragost.com> |
---|---|
date | Fri, 29 Oct 2010 14:06:06 +0200 |
parents | 1634287b6ab1 |
children | b5eae8e24e80 |
files | hgext/mq.py tests/test-mq-qnew.t |
diffstat | 2 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/mq.py Fri Oct 29 15:25:21 2010 +0200 +++ b/hgext/mq.py Fri Oct 29 14:06:06 2010 +0200 @@ -821,7 +821,11 @@ diffopts = self.diffopts({'git': opts.get('git')}) self.check_reserved_name(patchfn) if os.path.exists(self.join(patchfn)): - raise util.Abort(_('patch "%s" already exists') % patchfn) + if os.path.isdir(self.join(patchfn)): + raise util.Abort(_('"%s" already exists as a directory') + % patchfn) + else: + raise util.Abort(_('patch "%s" already exists') % patchfn) if opts.get('include') or opts.get('exclude') or pats: match = cmdutil.match(repo, pats, opts) # detect missing files in pats
--- a/tests/test-mq-qnew.t Fri Oct 29 15:25:21 2010 +0200 +++ b/tests/test-mq-qnew.t Fri Oct 29 14:06:06 2010 +0200 @@ -25,6 +25,7 @@ > echo '% qnew with name containing slash' > hg qnew foo/ > hg qnew foo/bar.patch + > hg qnew foo > hg qseries > hg qpop > hg qdelete foo/bar.patch @@ -107,6 +108,7 @@ 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: "foo" already exists as a directory foo/bar.patch popping foo/bar.patch patch queue now empty @@ -171,6 +173,7 @@ 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: "foo" already exists as a directory foo/bar.patch popping foo/bar.patch patch queue now empty