##// END OF EJS Templates
subrepo: change default path in hgrc of subrepo after cloning...
subrepo: change default path in hgrc of subrepo after cloning Previous behavior was to put in the cloned subrepos the path found in the original main repo. However it isn't valid for relative path and it seems more logical to reference instead the subrepos working copy path of the original main repo.

File last commit:

r8142:912bfef1 default
r10378:e1401c74 default
Show More
test-notify
100 lines | 2.2 KiB | text/plain | TextLexer
#!/bin/sh
cat <<EOF >> $HGRCPATH
[extensions]
notify=
[hooks]
incoming.notify = python:hgext.notify.hook
[notify]
sources = pull
diffstat = False
[usersubs]
foo@bar = *
[reposubs]
* = baz
EOF
hg help notify
hg init a
echo a > a/a
echo % commit
hg --traceback --cwd a commit -Ama -d '0 0'
echo % clone
hg --traceback clone a b
echo a >> a/a
echo % commit
hg --traceback --cwd a commit -Amb -d '1 0'
# on Mac OS X 10.5 the tmp path is very long so would get stripped in the subject line
cat <<EOF >> $HGRCPATH
[notify]
maxsubject = 200
EOF
# the python call below wraps continuation lines, which appear on Mac OS X 10.5 because
# of the very long subject line
echo '% pull (minimal config)'
hg --traceback --cwd b pull ../a 2>&1 |
python -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),' |
sed -e 's/\(Message-Id:\).*/\1/' \
-e 's/changeset \([0-9a-f]* *\)in .*test-notif/changeset \1in test-notif/' \
-e 's/^details: .*test-notify/details: test-notify/' \
-e 's/^Date:.*/Date:/'
cat <<EOF >> $HGRCPATH
[notify]
config = $HGTMP/.notify.conf
domain = test.com
strip = 3
template = Subject: {desc|firstline|strip}\nFrom: {author}\nX-Test: foo\n\nchangeset {node|short} in {webroot}\ndescription:\n\t{desc|tabindent|strip}
[web]
baseurl = http://test/
EOF
echo % fail for config file is missing
hg --cwd b rollback
hg --cwd b pull ../a 2>&1 | grep 'error.*\.notify\.conf' > /dev/null && echo pull failed
touch "$HGTMP/.notify.conf"
echo % pull
hg --cwd b rollback
hg --traceback --cwd b pull ../a 2>&1 | sed -e 's/\(Message-Id:\).*/\1/' \
-e 's/changeset \([0-9a-f]*\) in .*/changeset \1/' \
-e 's/^Date:.*/Date:/'
cat << EOF >> $HGRCPATH
[hooks]
incoming.notify = python:hgext.notify.hook
[notify]
sources = pull
diffstat = True
EOF
echo % pull
hg --cwd b rollback
hg --traceback --cwd b pull ../a 2>&1 | sed -e 's/\(Message-Id:\).*/\1/' \
-e 's/changeset \([0-9a-f]*\) in .*/changeset \1/' \
-e 's/^Date:.*/Date:/'
echo % test merge
cd a
hg up -C 0
echo a >> a
hg ci -Am adda2 -d '2 0'
hg merge
hg ci -m merge -d '3 0'
cd ..
hg --traceback --cwd b pull ../a 2>&1 | sed -e 's/\(Message-Id:\).*/\1/' \
-e 's/changeset \([0-9a-f]*\) in .*/changeset \1/' \
-e 's/^Date:.*/Date:/'