# HG changeset patch
# User Matt Harbison <matt_harbison@yahoo.com>
# Date 1568520450 14400
#      Sun Sep 15 00:07:30 2019 -0400
# Node ID 2da754532dd3c89795b46febfbdad043dd2fb9b4
# Parent  f10a0f5eedae0487dd997207b5e22ab5a36af27d
uncommit: enable support for adding a note

This comes from the evolve extension's version of uncommit.  The logic was
already in place, and appears to be the last of the trivial things that can be
enabled.

Should these note options (including on amend) be marked advanced to keep the
help text clutter level down?

Differential Revision: https://phab.mercurial-scm.org/D6857

diff --git a/hgext/uncommit.py b/hgext/uncommit.py
--- a/hgext/uncommit.py
+++ b/hgext/uncommit.py
@@ -111,7 +111,8 @@
 @command('uncommit',
     [('', 'keep', None, _('allow an empty commit after uncommiting')),
      ('', 'allow-dirty-working-copy', False,
-    _('allow uncommit with outstanding changes'))
+    _('allow uncommit with outstanding changes')),
+     (b'n', b'note', b'', _(b'store a note on uncommit'), _(b'TEXT'))
     ] + commands.walkopts + commands.commitopts + commands.commitopts2
     + commands.commitopts3,
     _('[OPTION]... [FILE]...'),
@@ -129,6 +130,7 @@
     """
     opts = pycompat.byteskwargs(opts)
 
+    cmdutil.checknotesize(ui, opts)
     cmdutil.resolvecommitoptions(ui, opts)
 
     with repo.wlock(), repo.lock():
diff --git a/tests/test-uncommit.t b/tests/test-uncommit.t
--- a/tests/test-uncommit.t
+++ b/tests/test-uncommit.t
@@ -36,6 +36,7 @@
   
       --keep                     allow an empty commit after uncommiting
       --allow-dirty-working-copy allow uncommit with outstanding changes
+   -n --note TEXT                store a note on uncommit
    -I --include PATTERN [+]      include names matching the given patterns
    -X --exclude PATTERN [+]      exclude names matching the given patterns
    -m --message TEXT             use text as commit message
@@ -570,7 +571,7 @@
 
   $ hg rollback -q --config ui.rollback=True
   $ cd dir
-  $ hg uncommit .
+  $ hg uncommit . -n 'this is a note'
   note: keeping empty commit
   $ hg status
   A dir/file2.txt