Mercurial > hg
changeset 42244:0f01394457a0
commit: add ability to print file status after each successful invocation
When commands.commit.post-status is enabled, `hg commit` will effectively run
`hg status -mardu` after committing. It can help catch mistakes like not
committing all needed files or not adding unknown files that should've been
part of the just created commit.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Fri, 03 May 2019 14:11:16 +0800 |
parents | 165b1aad43da |
children | d26bfbf419f9 |
files | mercurial/commands.py mercurial/configitems.py mercurial/help/config.txt tests/test-commit.t |
diffstat | 4 files changed, 50 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Fri May 03 14:07:14 2019 +0800 +++ b/mercurial/commands.py Fri May 03 14:11:16 2019 +0800 @@ -1735,6 +1735,10 @@ cmdutil.commitstatus(repo, node, branch, bheads, opts) + if not ui.quiet and ui.configbool('commands', 'commit.post-status'): + status(ui, repo, modified=True, added=True, removed=True, deleted=True, + unknown=True, subrepos=opts.get('subrepos')) + @command('config|showconfig|debugconfig', [('u', 'untrusted', None, _('show untrusted configuration options')), ('e', 'edit', None, _('edit user config')),
--- a/mercurial/configitems.py Fri May 03 14:07:14 2019 +0800 +++ b/mercurial/configitems.py Fri May 03 14:11:16 2019 +0800 @@ -202,6 +202,9 @@ default=dynamicdefault, ) _registerdiffopts(section='commands', configprefix='commit.interactive.') +coreconfigitem('commands', 'commit.post-status', + default=False, +) coreconfigitem('commands', 'grep.all-files', default=False, )
--- a/mercurial/help/config.txt Fri May 03 14:07:14 2019 +0800 +++ b/mercurial/help/config.txt Fri May 03 14:11:16 2019 +0800 @@ -438,6 +438,10 @@ ``commands`` ------------ +``commit.post-status`` + Show status of files in the working directory after successful commit. + (default: False) + ``resolve.confirm`` Confirm before performing action if no filename is passed. (default: False)
--- a/tests/test-commit.t Fri May 03 14:07:14 2019 +0800 +++ b/tests/test-commit.t Fri May 03 14:11:16 2019 +0800 @@ -838,3 +838,42 @@ second line $ cd .. + +testing commands.commit.post-status config option + + $ hg init ci-post-st + $ cd ci-post-st + $ echo '[commands]' > .hg/hgrc + $ echo 'commit.post-status = 1' >> .hg/hgrc + + $ echo 'ignored-file' > .hgignore + $ hg ci -qAm 0 + + $ echo 'c' > clean-file + $ echo 'a' > added-file + $ echo '?' > unknown-file + $ echo 'i' > ignored-file + $ hg add clean-file added-file + $ hg ci -m 1 clean-file + A added-file + ? unknown-file + $ hg st -mardu + A added-file + ? unknown-file + + $ touch modified-file + $ hg add modified-file + $ hg ci -m 2 modified-file -q + + $ echo 'm' > modified-file + $ hg ci --amend -m 'reworded' -X 're:' + saved backup bundle to $TESTTMP/ci-post-st/.hg/strip-backup/*-amend.hg (glob) + M modified-file + A added-file + ? unknown-file + $ hg st -mardu + M modified-file + A added-file + ? unknown-file + + $ cd ..