mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
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.
This commit is contained in:
parent
89fcbff9fc
commit
19098ea63d
@ -1436,11 +1436,14 @@ def commit(ui, repo, *pats, **opts):
|
||||
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)
|
||||
|
@ -1294,3 +1294,18 @@ configuration
|
||||
15: secret
|
||||
|
||||
$ cd ..
|
||||
|
||||
|
||||
Test that comit --secret works on both repo and subrepo (issue4182)
|
||||
|
||||
$ cd main
|
||||
$ echo secret >> b
|
||||
$ echo secret >> s/b
|
||||
$ hg commit --secret --subrepo -m "secret"
|
||||
committing subrepository s
|
||||
$ hg phase -r .
|
||||
6: secret
|
||||
$ cd s
|
||||
$ hg phase -r .
|
||||
6: secret
|
||||
$ cd ../../
|
||||
|
Loading…
Reference in New Issue
Block a user