diff mercurial/commands.py @ 20772:03774a2b6991 stable

commit: propagate --secret option to subrepos (issue4182) Before this patch, `hg commit --secret` was not getting propagated correctly, and subrepos were not getting the commit in the secret phase. The problem is that subrepos get their ui from the base repo's baseui object and ignore the ui object passed on to them. This sets and restores both ui objects with the appropriate option.
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Mon, 17 Mar 2014 14:57:13 -0400
parents bcfc4f625e57
children efbf15979538 5db105f216c3
line wrap: on
line diff
--- a/mercurial/commands.py	Wed Mar 19 01:07:41 2014 +0900
+++ b/mercurial/commands.py	Mon Mar 17 14:57:13 2014 -0400
@@ -1436,11 +1436,14 @@
             try:
                 if opts.get('secret'):
                     ui.setconfig('phases', 'new-commit', 'secret')
+                    # Propagate to subrepos
+                    repo.baseui.setconfig('phases', 'new-commit', 'secret')
 
                 return repo.commit(message, opts.get('user'), opts.get('date'),
                                    match, editor=e, extra=extra)
             finally:
                 ui.setconfig('phases', 'new-commit', oldcommitphase)
+                repo.baseui.setconfig('phases', 'new-commit', oldcommitphase)
 
 
         node = cmdutil.commit(ui, repo, commitfunc, pats, opts)