releasenotes: raise error on simultaneous usage of flags
authorRishabh Madan <rishabhmadan96@gmail.com>
Thu, 28 Sep 2017 13:22:58 +0530
changeset 34340 741a511492d3
parent 34339 ec769bba34d3
child 34341 01e8ab4b6573
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
hgext/releasenotes.py
tests/test-releasenotes-formatting.t
--- 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]