tests/test-notify
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Thu, 21 Feb 2008 16:22:31 -0300
changeset 6158 23ffe82615d8
parent 4517 5371a213b0f4
child 6359 25e74cd3f023
permissions -rwxr-xr-x
repo.status: also compare flags for files in the lookup list. We might be able to do something smarter about this in dirstate.status for files in normallookup state, but that would require some extra care to keep backwards compatibility.

#!/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'

echo '% pull (minimal config)'
hg --traceback --cwd b pull ../a 2>&1 | 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}\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 'unable to open.*\.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:/'