view tests/test-share @ 12039:18e1e7520b67 stable

alias: make shadowing behavior more consistent (issue2054) Currently, given an alias like the following: [alias] summary = summary --remote The alias might be executed - or it might not - depending on the order of the cmdtable dict. This happens because cmdalias gets assigned back to the cmdtable like so: cmdtable['summary'] = ... Yet '^summary|sum' is still in the table, so which one cmdutil.findcmd() chooses isn't deterministic. This patch makes cmdalias assign back to '^summary|sum'. It uses the same cmdtable key lookup that extensions.wrapcommand() does.
author Brodie Rao <brodie@bitheap.org>
date Sat, 21 Aug 2010 22:48:14 -0400
parents 2250fc372d34
children
line wrap: on
line source

#!/bin/sh

echo "[extensions]"      >> $HGRCPATH
echo "share = "          >> $HGRCPATH

echo % prepare repo1
hg init repo1
cd repo1
echo a > a
hg commit -A -m'init'

echo % share it
cd ..
hg share repo1 repo2

echo % contents of repo2/.hg
cd repo2
[ -d .hg/store ] \
  && echo "fail: .hg/store should not exist" \
  || echo "pass: .hg/store does not exist"
# Some sed versions appends newline, some don't, and some just fails
(cat .hg/sharedpath; echo) | head -n1 | "$TESTDIR/filtertmp.py"

echo % commit in shared clone
echo a >> a
hg commit -m'change in shared clone'

echo % check original
cd ../repo1
hg log
hg update
cat a             # should be two lines of "a"

echo % commit in original
echo b > b
hg commit -A -m'another file'

echo % check in shared clone
cd ../repo2
hg log
hg update
cat b             # should exist with one "b"

echo % hg serve shared clone
hg serve -n test -p $HGPORT -d --pid-file=hg.pid
cat hg.pid >> $DAEMON_PIDS

"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/raw-file/'