Mercurial > hg
view tests/test-logtoprocess.t @ 28925:ee56a86e2782
crecord: drop the extra confirmation screen
The commit confirmation is not very useful -- it gives no way to view what you
have selected, so you're blindly choosing whether to proceed or not, and it adds
a lot of unnecessary friction to committing. In addition, we now have a working
'review' choice for those who really want to review the final change.
Ryan McElroy initially submitted a config option to make this optional, but we
never saw a V2. However as the freeze is near and curses have never been
officially out of the door, I think it is worth skipping the config and trying
getting it right for this release.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 14 Apr 2016 01:27:18 -0700 |
parents | a368da441b32 |
children | e92daf156d5c |
line wrap: on
line source
Test if logtoprocess correctly captures command-related log calls. $ hg init $ cat > $TESTTMP/foocommand.py << EOF > from mercurial import cmdutil > from time import sleep > cmdtable = {} > command = cmdutil.command(cmdtable) > @command('foo', []) > def foo(ui, repo): > ui.log('foo', 'a message: %(bar)s\n', bar='spam') > EOF $ cat >> $HGRCPATH << EOF > [extensions] > logtoprocess= > foocommand=$TESTTMP/foocommand.py > [logtoprocess] > command=echo 'logtoprocess command output:'; > echo "\$EVENT"; > echo "\$MSG1"; > echo "\$MSG2" > commandfinish=echo 'logtoprocess commandfinish output:'; > echo "\$EVENT"; > echo "\$MSG1"; > echo "\$MSG2"; > echo "\$MSG3" > foo=echo 'logtoprocess foo output:'; > echo "\$EVENT"; > echo "\$MSG1"; > echo "\$OPT_BAR" > EOF Running a command triggers both a ui.log('command') and a ui.log('commandfinish') call. The foo command also uses ui.log. Use head to ensure we wait for all lines to be produced, and sort to avoid ordering issues between the various processes we spawn: $ hg foo | head -n 17 | sort 0 a message: spam command commandfinish foo foo foo foo foo exited 0 after * seconds (glob) logtoprocess command output: logtoprocess commandfinish output: logtoprocess foo output: spam