releasenotes: raise error on simultaneous usage of flags
The releasenotes command is supposed to raise an error when --list and
--rev/--check flags are used together. This patch adds the above functionality.
Differential Revision: https://phab.mercurial-scm.org/D831
--- a/hgext/releasenotes.py Tue Sep 26 03:56:20 2017 -0700
+++ b/hgext/releasenotes.py Thu Sep 28 13:22:58 2017 +0530
@@ -552,7 +552,15 @@
release note after it has been added to the release notes file.
"""
sections = releasenotessections(ui, repo)
- if opts.get('list'):
+
+ listflag = opts.get('list')
+
+ if listflag and opts.get('rev'):
+ raise error.Abort(_('cannot use both \'--list\' and \'--rev\''))
+ if listflag and opts.get('check'):
+ raise error.Abort(_('cannot use both \'--list\' and \'--check\''))
+
+ if listflag:
return _getadmonitionlist(ui, sections)
rev = opts.get('rev')
--- a/tests/test-releasenotes-formatting.t Tue Sep 26 03:56:20 2017 -0700
+++ b/tests/test-releasenotes-formatting.t Thu Sep 28 13:22:58 2017 +0530
@@ -420,3 +420,17 @@
fix: Bug Fixes
perf: Performance Improvements
api: API Changes
+
+ $ cd ..
+
+Raise error on simultaneous usage of flags
+
+ $ hg init relnotes-raise-error
+ $ cd relnotes-raise-error
+ $ hg releasenotes -r . -l
+ abort: cannot use both '--list' and '--rev'
+ [255]
+
+ $ hg releasenotes -l -c
+ abort: cannot use both '--list' and '--check'
+ [255]