keyword: make repo.commit use a custom commitctx wrapper
This avoids forcing the dirstate of overwritten files to normal
during a commit.
Thanks to Dan Villiom Podlaski Christiansen for the idea of a
"double wrapper", so other extensions can still wrap
repo.commitctx safely.
#!/bin/sh
cat >> $HGRCPATH <<EOF
[alias]
myinit = init
cleanstatus = status -c
unknown = bargle
ambiguous = s
recursive = recursive
nodefinition =
mylog = log
lognull = log -r null
shortlog = log --template '{rev} {node|short} | {date|isodate}\n'
dln = lognull --debug
[defaults]
mylog = -q
lognull = -q
log = -v
EOF
echo '% basic'
hg myinit alias
echo '% unknown'
hg unknown
echo '% ambiguous'
hg ambiguous
echo '% recursive'
hg recursive
echo '% no definition'
hg nodef
cd alias
echo foo > foo
hg ci -Amfoo
echo '% with opts'
hg cleanst
echo '% with opts and whitespace'
hg shortlog
echo '% interaction with defaults'
hg mylog
hg lognull
echo '% properly recursive'
hg dln