tests/test-notify
branchstable
changeset 12795 3cb0559e44d0
parent 12793 469850088fc1
parent 12794 6bf8d48bec8e
child 12796 bc69ba99e34b
equal deleted inserted replaced
12793:469850088fc1 12795:3cb0559e44d0
     1 #!/bin/sh
       
     2 
       
     3 cat <<EOF >> $HGRCPATH
       
     4 [extensions]
       
     5 notify=
       
     6 
       
     7 [hooks]
       
     8 incoming.notify = python:hgext.notify.hook
       
     9 
       
    10 [notify]
       
    11 sources = pull
       
    12 diffstat = False
       
    13 
       
    14 [usersubs]
       
    15 foo@bar = *
       
    16 
       
    17 [reposubs]
       
    18 * = baz
       
    19 EOF
       
    20 
       
    21 hg help notify
       
    22 hg init a
       
    23 echo a > a/a
       
    24 echo % commit
       
    25 hg --traceback --cwd a commit -Ama -d '0 0'
       
    26 
       
    27 echo % clone
       
    28 hg --traceback clone a b
       
    29 
       
    30 echo a >> a/a
       
    31 echo % commit
       
    32 hg --traceback --cwd a commit -Amb -d '1 0'
       
    33 
       
    34 # on Mac OS X 10.5 the tmp path is very long so would get stripped in the subject line
       
    35 cat <<EOF >> $HGRCPATH
       
    36 [notify]
       
    37 maxsubject = 200
       
    38 EOF
       
    39 
       
    40 # the python call below wraps continuation lines, which appear on Mac OS X 10.5 because
       
    41 # of the very long subject line
       
    42 echo '% pull (minimal config)'
       
    43 hg --traceback --cwd b pull ../a 2>&1 |
       
    44   python -c 'import sys,re; print re.sub("([n:])\\n[\\t ]", "\\1 ", sys.stdin.read()),' |
       
    45   sed -e 's/\(Message-Id:\).*/\1/' \
       
    46   -e 's/changeset \([0-9a-f]* *\)in .*test-notif/changeset \1in test-notif/' \
       
    47   -e 's/^details: .*test-notify/details: test-notify/' \
       
    48   -e 's/^Date:.*/Date:/'
       
    49 
       
    50 cat <<EOF >> $HGRCPATH
       
    51 [notify]
       
    52 config = $HGTMP/.notify.conf
       
    53 domain = test.com
       
    54 strip = 3
       
    55 template = Subject: {desc|firstline|strip}\nFrom: {author}\nX-Test: foo\n\nchangeset {node|short} in {webroot}\ndescription:\n\t{desc|tabindent|strip}
       
    56 
       
    57 [web]
       
    58 baseurl = http://test/
       
    59 EOF
       
    60 
       
    61 echo % fail for config file is missing
       
    62 hg --cwd b rollback
       
    63 hg --cwd b pull ../a 2>&1 | grep 'error.*\.notify\.conf' > /dev/null && echo pull failed
       
    64 
       
    65 touch "$HGTMP/.notify.conf"
       
    66 
       
    67 echo % pull
       
    68 hg --cwd b rollback
       
    69 hg --traceback --cwd b pull ../a 2>&1 | sed -e 's/\(Message-Id:\).*/\1/' \
       
    70   -e 's/changeset \([0-9a-f]*\) in .*/changeset \1/' \
       
    71   -e 's/^Date:.*/Date:/'
       
    72 
       
    73 cat << EOF >> $HGRCPATH
       
    74 [hooks]
       
    75 incoming.notify = python:hgext.notify.hook
       
    76 
       
    77 [notify]
       
    78 sources = pull
       
    79 diffstat = True
       
    80 EOF
       
    81 
       
    82 echo % pull
       
    83 hg --cwd b rollback
       
    84 hg --traceback --cwd b pull ../a 2>&1 | sed -e 's/\(Message-Id:\).*/\1/' \
       
    85   -e 's/changeset \([0-9a-f]*\) in .*/changeset \1/' \
       
    86   -e 's/^Date:.*/Date:/'
       
    87 
       
    88 echo % test merge
       
    89 cd a
       
    90 hg up -C 0
       
    91 echo a >> a
       
    92 hg ci -Am adda2 -d '2 0'
       
    93 hg merge
       
    94 hg ci -m merge -d '3 0'
       
    95 cd ..
       
    96 
       
    97 hg --traceback --cwd b pull ../a 2>&1 | sed -e 's/\(Message-Id:\).*/\1/' \
       
    98   -e 's/changeset \([0-9a-f]*\) in .*/changeset \1/' \
       
    99   -e 's/^Date:.*/Date:/'
       
   100