Mercurial > hg
view tests/test-merge-tools @ 10301:56b50194617f
templates: rename `Last change' column in hgwebdir repository list.
This patch changes column headers in the templates that previously
said `Last change' to `Last modified'. Neither code nor functionality
are changed other than that.
For some time now, I have been annoyed by the fact the `Last change'
column didn't list the age of the youngest changeset in the
repository, or at least tip. It just occurred to me that this is
because the wording is slightly misleading; what the column in fact
lists is when the repository was last *modified*, that is, when
changesets was last added or removed from it.
The word `change' can be understood as referring to the changeset
itself. Using `changed' would be ever so slightly less
amigous. However, the standard nomenclature in this case is
`modification date' and `Last modified', which is incidentally entirely
unambigous. Hence, `Last modified' is the wording used.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Sun, 24 Jan 2010 20:51:53 +0100 |
parents | 08a0f04b56bd |
children | c52057614c72 |
line wrap: on
line source
#!/bin/sh # test merge-tools configuration - mostly exercising filemerge.py unset HGMERGE # make sure HGMERGE doesn't interfere with the test hg init echo "# revision 0" echo "revision 0" > f echo "space" >> f hg commit -Am "revision 0" -d "1000000 0" echo "# revision 1" echo "revision 1" > f echo "space" >> f hg commit -Am "revision 1" -d "1000000 0" hg update 0 > /dev/null echo "# revision 2" echo "revision 2" > f echo "space" >> f hg commit -Am "revision 2" -d "1000000 0" hg update 0 > /dev/null echo "# revision 3 - simple to merge" echo "revision 3" >> f hg commit -Am "revision 3" -d "1000000 0" echo "[merge-tools]" > .hg/hgrc echo beforemerge() { cat .hg/hgrc echo "# hg update -C 1" hg update -C 1 > /dev/null } aftermerge() { echo "# cat f" cat f echo "# hg stat" hg stat rm -f f.orig echo } domerge() { beforemerge echo "# hg merge $*" hg merge $* aftermerge } echo echo Tool selection echo echo "# default is internal merge:" beforemerge echo "# hg merge -r 2" # override $PATH to ensure hgmerge not visible; use $PYTHON in case we're # running from a devel copy, not a temp installation PATH=$BINDIR $PYTHON $BINDIR/hg merge -r 2 aftermerge echo "# simplest hgrc using false for merge:" echo "false.whatever=" >> .hg/hgrc domerge -r 2 echo "# true with higher .priority gets precedence:" echo "true.priority=1" >> .hg/hgrc domerge -r 2 echo "# unless lowered on command line:" domerge -r 2 --config merge-tools.true.priority=-7 echo "# or false set higher on command line:" domerge -r 2 --config merge-tools.false.priority=117 echo "# or true.executable not found in PATH:" domerge -r 2 --config merge-tools.true.executable=nonexistingmergetool echo "# or true.executable with bogus path:" domerge -r 2 --config merge-tools.true.executable=/nonexisting/mergetool echo "# but true.executable set to cat found in PATH works:" echo "true.executable=cat" >> .hg/hgrc domerge -r 2 echo "# and true.executable set to cat with path works:" domerge -r 2 --config merge-tools.true.executable=cat echo echo Tool selection and merge-patterns echo echo "# merge-patterns specifies new tool false:" domerge -r 2 --config merge-patterns.f=false echo "# merge-patterns specifies executable not found in PATH and gets warning:" domerge -r 2 --config merge-patterns.f=true --config merge-tools.true.executable=nonexistingmergetool echo "# merge-patterns specifies executable with bogus path and gets warning:" domerge -r 2 --config merge-patterns.f=true --config merge-tools.true.executable=/nonexisting/mergetool echo echo ui.merge overrules priority echo echo "# ui.merge specifies false:" domerge -r 2 --config ui.merge=false echo "# ui.merge specifies internal:fail:" domerge -r 2 --config ui.merge=internal:fail echo "# ui.merge specifies internal:local:" domerge -r 2 --config ui.merge=internal:local echo "# ui.merge specifies internal:other:" domerge -r 2 --config ui.merge=internal:other echo "# ui.merge specifies internal:prompt:" domerge -r 2 --config ui.merge=internal:prompt echo "# ui.merge specifies internal:dump:" domerge -r 2 --config ui.merge=internal:dump echo f.base: cat f.base echo f.local: cat f.local echo f.other: cat f.other rm f.base f.local f.other echo echo "# ui.merge specifies internal:other but is overruled by pattern for false:" domerge -r 2 --config ui.merge=internal:other --config merge-patterns.f=false echo echo Premerge echo echo "# Default is silent simplemerge:" domerge -r 3 echo "# .premerge=True is same:" domerge -r 3 --config merge-tools.true.premerge=True echo "# .premerge=False executes merge-tool:" domerge -r 3 --config merge-tools.true.premerge=False echo echo Tool execution echo echo '# set tools.args explicit to include $base $local $other $output:' # default '$local $base $other' beforemerge hg merge -r 2 --config merge-tools.true.executable=head --config merge-tools.true.args='$base $local $other $output' \ | sed 's,==> .* <==,==> ... <==,g' aftermerge echo '# Merge with "echo mergeresult > $local":' beforemerge hg merge -r 2 --config merge-tools.true.executable=echo --config merge-tools.true.args='mergeresult > $local' aftermerge echo '# - and $local is the file f:' beforemerge hg merge -r 2 --config merge-tools.true.executable=echo --config merge-tools.true.args='mergeresult > f' aftermerge echo '# Merge with "echo mergeresult > $output" - the variable is a bit magic:' beforemerge hg merge -r 2 --config merge-tools.true.executable=echo --config merge-tools.true.args='mergeresult > $output' aftermerge echo echo Merge post-processing echo echo "# cat is a bad merge-tool and doesn't change:" domerge -y -r 2 --config merge-tools.true.checkchanged=1