##// END OF EJS Templates
internals: extract frame-based protocol docs to own document...
internals: extract frame-based protocol docs to own document wireprotocol.txt is quite long and difficult to digest. The frame-based protocol is effectively a standalone concept (and could even be used outside of Mercurial). So this commit extracts its docs to a standalone file. The first few paragraphs were rewritten as part of the extraction. Sections headers were adjusted accordingly. Existing referalls in wireprotocol.txt were updated to refer to the new doc / concept, which I've started referring to as `hgrpc`. I'm on the fence as to whether to move the HTTP and SSH transport details to the new doc as well. For now, I'm leaving them in wireprotocol.txt. Differential Revision: https://phab.mercurial-scm.org/D4443

File last commit:

r38048:d1134ca5 default
r39594:b0e0db15 default
Show More
test-notify.t
748 lines | 20.9 KiB | text/troff | Tads3Lexer
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 $ cat > $TESTTMP/filter.py <<EOF
Augie Fackler
tests: update test-notify to pass our import checker
r33971 > from __future__ import absolute_import, print_function
> import re
> import sys
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 > print(re.sub("\n[ \t]", " ", sys.stdin.read()), end="")
> EOF
Matt Mackall
tests: unify test-notify
r12473
$ 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
Patrick Mezard
notify: rewrite user documentation...
r14940 notify extension - hooks for sending email push notifications
Matt Mackall
tests: unify test-notify
r12473
David Champion
notify: various fixes to docstring...
r16950 This extension implements hooks to send email notifications when changesets
are sent from or received by the local repository.
Matt Mackall
tests: unify test-notify
r12473
timeless
minirst: change hgrole to use single quotes...
r27729 First, enable the extension as explained in 'hg help extensions', and register
David Champion
notify: various fixes to docstring...
r16950 the hook you want to run. "incoming" and "changegroup" hooks are run when
changesets are received, while "outgoing" hooks are for changesets sent to
another repository:
Matt Mackall
tests: unify test-notify
r12473
[hooks]
# one email for each incoming changeset
incoming.notify = python:hgext.notify.hook
Patrick Mezard
notify: rewrite user documentation...
r14940 # one email for all incoming changesets
Matt Mackall
tests: unify test-notify
r12473 changegroup.notify = python:hgext.notify.hook
Patrick Mezard
notify: rewrite user documentation...
r14940
# one email for all outgoing changesets
Ingo Bressler
notify: send changesets on 'outgoing' hook, updated doc
r14617 outgoing.notify = python:hgext.notify.hook
Matt Mackall
tests: unify test-notify
r12473
David Champion
notify: various fixes to docstring...
r16950 This registers the hooks. To enable notification, subscribers must be assigned
to repositories. The "[usersubs]" section maps multiple repositories to a
given recipient. The "[reposubs]" section maps multiple recipients to a single
repository:
Matt Mackall
tests: unify test-notify
r12473
[usersubs]
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 # key is subscriber email, value is a comma-separated list of repo patterns
Matt Mackall
tests: unify test-notify
r12473 user@host = pattern
[reposubs]
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 # key is repo pattern, value is a comma-separated list of subscriber emails
Matt Mackall
tests: unify test-notify
r12473 pattern = user@host
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 A "pattern" is a "glob" matching the absolute path to a repository, optionally
combined with a revset expression. A revset expression, if present, is
separated from the glob by a hash. Example:
[reposubs]
*/widgets#branch(release) = qa-team@example.com
This sends to "qa-team@example.com" whenever a changeset on the "release"
branch triggers a notification in any repository ending in "widgets".
David Champion
notify: various fixes to docstring...
r16950
In order to place them under direct user management, "[usersubs]" and
"[reposubs]" sections may be placed in a separate "hgrc" file and incorporated
by reference:
Patrick Mezard
notify: rewrite user documentation...
r14940
[notify]
config = /path/to/subscriptionsfile
David Champion
notify: various fixes to docstring...
r16950 Notifications will not be sent until the "notify.test" value is set to
"False"; see below.
Patrick Mezard
notify: rewrite user documentation...
r14940
Notifications content can be tweaked with the following configuration entries:
notify.test
If "True", print messages to stdout instead of sending them. Default: True.
notify.sources
David Champion
notify: various fixes to docstring...
r16950 Space-separated list of change sources. Notifications are activated only
when a changeset's source is in this list. Sources may be:
"serve" changesets received via http or ssh
"pull" changesets received via "hg pull"
"unbundle" changesets received via "hg unbundle"
"push" changesets sent or received via "hg push"
"bundle" changesets sent via "hg unbundle"
Default: serve.
Patrick Mezard
notify: rewrite user documentation...
r14940
notify.strip
Number of leading slashes to strip from url paths. By default, notifications
David Champion
notify: various fixes to docstring...
r16950 reference repositories with their absolute path. "notify.strip" lets you
Patrick Mezard
notify: rewrite user documentation...
r14940 turn them into relative paths. For example, "notify.strip=3" will change
"/long/path/repository" into "repository". Default: 0.
notify.domain
David Champion
notify: various fixes to docstring...
r16950 Default email domain for sender or recipients with no explicit domain.
Matt Mackall
tests: unify test-notify
r12473
Patrick Mezard
notify: rewrite user documentation...
r14940 notify.style
Style file to use when formatting emails.
notify.template
Template to use when formatting emails.
notify.incoming
David Champion
notify: various fixes to docstring...
r16950 Template to use when run as an incoming hook, overriding "notify.template".
Patrick Mezard
notify: rewrite user documentation...
r14940
notify.outgoing
David Champion
notify: various fixes to docstring...
r16950 Template to use when run as an outgoing hook, overriding "notify.template".
Patrick Mezard
notify: rewrite user documentation...
r14940
notify.changegroup
David Champion
notify: various fixes to docstring...
r16950 Template to use when running as a changegroup hook, overriding
Patrick Mezard
notify: rewrite user documentation...
r14940 "notify.template".
notify.maxdiff
Maximum number of diff lines to include in notification email. Set to 0 to
David Champion
notify: various fixes to docstring...
r16950 disable the diff, or -1 to include all of it. Default: 300.
Patrick Mezard
notify: rewrite user documentation...
r14940
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 notify.maxdiffstat
Maximum number of diffstat lines to include in notification email. Set to -1
to include all of it. Default: -1.
Patrick Mezard
notify: rewrite user documentation...
r14940 notify.maxsubject
David Champion
notify: various fixes to docstring...
r16950 Maximum number of characters in email's subject line. Default: 67.
Patrick Mezard
notify: rewrite user documentation...
r14940
notify.diffstat
Set to True to include a diffstat before diff content. Default: True.
Joerg Sonnenberger
notify: add option to include function names in the diff output...
r38048 notify.showfunc
If set, override "diff.showfunc" for the diff content. Default: None.
Patrick Mezard
notify: rewrite user documentation...
r14940 notify.merge
If True, send notifications for merge changesets. Default: True.
Mads Kiilerich
notify: add option for writing to mbox...
r15561 notify.mbox
If set, append mails to this mbox file instead of sending. Default: None.
Nikolaus Schueler
notify: change behavior of "changegroup" hook...
r15654 notify.fromauthor
David Champion
notify: various fixes to docstring...
r16950 If set, use the committer of the first changeset in a changegroup for the
"From" field of the notification mail. If not set, take the user from the
pushing repo. Default: False.
Nikolaus Schueler
notify: change behavior of "changegroup" hook...
r15654
Patrick Mezard
notify: rewrite user documentation...
r14940 If set, the following entries will also be used to customize the
notifications:
email.from
David Champion
notify: various fixes to docstring...
r16950 Email "From" address to use if none can be found in the generated email
content.
Patrick Mezard
notify: rewrite user documentation...
r14940
web.baseurl
David Champion
notify: various fixes to docstring...
r16950 Root repository URL to combine with repository paths when making references.
See also "notify.strip".
Matt Mackall
tests: unify test-notify
r12473
no commands defined
$ hg init a
$ echo a > a/a
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 $ echo b > a/b
Matt Mackall
tests: unify test-notify
r12473
commit
$ hg --cwd a commit -Ama -d '0 0'
adding a
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 adding b
Matt Mackall
tests: unify test-notify
r12473
clone
$ hg --traceback clone a b
updating to branch default
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Mackall
tests: unify test-notify
r12473 $ echo a >> a/a
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 $ echo b >> a/b
Matt Mackall
tests: unify test-notify
r12473
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
pull (minimal config)
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 $ hg --traceback --cwd b pull ../a | $PYTHON $TESTTMP/filter.py
Matt Mackall
tests: unify test-notify
r12473 pulling from ../a
searching for changes
adding changesets
adding manifests
adding file changes
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 added 1 changesets with 2 changes to 2 files
new changesets 00a13f371396
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Matt Mackall
tests: unify test-notify
r12473 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Date: * (glob)
Mads Kiilerich
tests: remove redundant globs...
r12640 Subject: changeset in $TESTTMP/b: b
Matt Mackall
tests: unify test-notify
r12473 From: test
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset 00a13f371396
Matt Mackall
tests: unify test-notify
r12473 Message-Id: <*> (glob)
To: baz, foo@bar
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 changeset 00a13f371396 in $TESTTMP/b
details: $TESTTMP/b?cmd=changeset;node=00a13f371396
Matt Mackall
tests: unify test-notify
r12473 description: b
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diffs (12 lines):
Matt Mackall
tests: unify test-notify
r12473
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diff -r 0cd96de13884 -r 00a13f371396 a
Matt Mackall
tests: unify test-notify
r12473 --- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:01 1970 +0000
Mads Kiilerich
test-notify: fix fix for line continuation in long mail header lines...
r12646 @@ -1,1 +1,2 @@ a
Matt Mackall
tests: unify test-notify
r12473 +a
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diff -r 0cd96de13884 -r 00a13f371396 b
--- a/b Thu Jan 01 00:00:00 1970 +0000
+++ b/b Thu Jan 01 00:00:01 1970 +0000
@@ -1,1 +1,2 @@ b
+b
Matt Mackall
tests: unify test-notify
r12473 (run 'hg update' to get a working copy)
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684
Matt Mackall
tests: unify test-notify
r12473 $ cat <<EOF >> $HGRCPATH
> [notify]
Mads Kiilerich
tests: remove the last traces of $HGTMP...
r12642 > config = `pwd`/.notify.conf
Matt Mackall
tests: unify test-notify
r12473 > domain = test.com
Mads Kiilerich
test-notify: stabilize output...
r12644 > strip = 42
Matt Mackall
tests: unify test-notify
r12473 > 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
fail for config file is missing
$ hg --cwd b rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 0 (undo pull)
Matt Mackall
tests: unify test-notify
r12473 $ hg --cwd b pull ../a 2>&1 | grep 'error.*\.notify\.conf' > /dev/null && echo pull failed
pull failed
Mads Kiilerich
tests: remove the last traces of $HGTMP...
r12642 $ touch ".notify.conf"
Matt Mackall
tests: unify test-notify
r12473
pull
$ hg --cwd b rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 0 (undo pull)
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 $ hg --traceback --cwd b pull ../a | $PYTHON $TESTTMP/filter.py
Matt Mackall
tests: unify test-notify
r12473 pulling from ../a
searching for changes
adding changesets
adding manifests
adding file changes
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 added 1 changesets with 2 changes to 2 files
new changesets 00a13f371396
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Matt Mackall
tests: unify test-notify
r12473 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Test: foo
Date: * (glob)
Subject: b
From: test@test.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset 00a13f371396
Matt Mackall
tests: unify test-notify
r12473 Message-Id: <*> (glob)
To: baz@test.com, foo@bar
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 changeset 00a13f371396 in b
Matt Mackall
tests: unify test-notify
r12473 description: b
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diffs (12 lines):
Matt Mackall
tests: unify test-notify
r12473
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diff -r 0cd96de13884 -r 00a13f371396 a
Matt Mackall
tests: unify test-notify
r12473 --- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:01 1970 +0000
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 @@ -1,1 +1,2 @@ a
Matt Mackall
tests: unify test-notify
r12473 +a
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diff -r 0cd96de13884 -r 00a13f371396 b
--- a/b Thu Jan 01 00:00:00 1970 +0000
+++ b/b Thu Jan 01 00:00:01 1970 +0000
@@ -1,1 +1,2 @@ b
+b
Matt Mackall
tests: unify test-notify
r12473 (run 'hg update' to get a working copy)
$ cat << EOF >> $HGRCPATH
> [hooks]
> incoming.notify = python:hgext.notify.hook
>
> [notify]
> sources = pull
> diffstat = True
> EOF
pull
$ hg --cwd b rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 0 (undo pull)
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 $ hg --traceback --config notify.maxdiffstat=1 --cwd b pull ../a | $PYTHON $TESTTMP/filter.py
Matt Mackall
tests: unify test-notify
r12473 pulling from ../a
searching for changes
adding changesets
adding manifests
adding file changes
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 added 1 changesets with 2 changes to 2 files
new changesets 00a13f371396
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Matt Mackall
tests: unify test-notify
r12473 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Test: foo
Date: * (glob)
Subject: b
From: test@test.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset 00a13f371396
Matt Mackall
tests: unify test-notify
r12473 Message-Id: <*> (glob)
To: baz@test.com, foo@bar
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 changeset 00a13f371396 in b
Matt Mackall
tests: unify test-notify
r12473 description: b
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diffstat (truncated from 2 to 1 lines):
a | 1 + 2 files changed, 2 insertions(+), 0 deletions(-)
Matt Mackall
tests: unify test-notify
r12473
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diffs (12 lines):
Matt Mackall
tests: unify test-notify
r12473
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diff -r 0cd96de13884 -r 00a13f371396 a
Matt Mackall
tests: unify test-notify
r12473 --- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:01 1970 +0000
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 @@ -1,1 +1,2 @@ a
Matt Mackall
tests: unify test-notify
r12473 +a
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diff -r 0cd96de13884 -r 00a13f371396 b
--- a/b Thu Jan 01 00:00:00 1970 +0000
+++ b/b Thu Jan 01 00:00:01 1970 +0000
@@ -1,1 +1,2 @@ b
+b
Matt Mackall
tests: unify test-notify
r12473 (run 'hg update' to get a working copy)
test merge
$ cd a
$ hg up -C 0
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Mackall
tests: unify test-notify
r12473 $ echo a >> a
$ hg ci -Am adda2 -d '2 0'
created new head
$ hg merge
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Mackall
tests: unify test-notify
r12473 (branch merge, don't forget to commit)
$ hg ci -m merge -d '3 0'
$ cd ..
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 $ hg --traceback --cwd b pull ../a | $PYTHON $TESTTMP/filter.py
Matt Mackall
tests: unify test-notify
r12473 pulling from ../a
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 0 changes to 0 files
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 new changesets 3332653e1f3c:fccf66cd0c35
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Matt Mackall
tests: unify test-notify
r12473 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Test: foo
Date: * (glob)
Subject: adda2
From: test@test.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset 3332653e1f3c
Matt Mackall
tests: unify test-notify
r12473 Message-Id: <*> (glob)
To: baz@test.com, foo@bar
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 changeset 3332653e1f3c in b
Matt Mackall
tests: unify test-notify
r12473 description: adda2
diffstat:
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 a | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
Matt Mackall
tests: unify test-notify
r12473
diffs (6 lines):
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diff -r 0cd96de13884 -r 3332653e1f3c a
Matt Mackall
tests: unify test-notify
r12473 --- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:02 1970 +0000
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 @@ -1,1 +1,2 @@ a
Matt Mackall
tests: unify test-notify
r12473 +a
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Matt Mackall
tests: unify test-notify
r12473 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Test: foo
Date: * (glob)
Subject: merge
From: test@test.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset fccf66cd0c35
Matt Mackall
tests: unify test-notify
r12473 Message-Id: <*> (glob)
To: baz@test.com, foo@bar
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 changeset fccf66cd0c35 in b
Matt Mackall
tests: unify test-notify
r12473 description: merge
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diffstat:
b | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diffs (6 lines):
diff -r 3332653e1f3c -r fccf66cd0c35 b
--- a/b Thu Jan 01 00:00:02 1970 +0000
+++ b/b Thu Jan 01 00:00:03 1970 +0000
@@ -1,1 +1,2 @@ b
+b
Matt Mackall
tests: unify test-notify
r12473 (run 'hg update' to get a working copy)
Yuya Nishihara
util: fix ellipsis() not to break multi-byte sequence (issue2564)...
r13225
Mads Kiilerich
notify: add option for writing to mbox...
r15561 non-ascii content and truncation of multi-byte subject
Yuya Nishihara
util: fix ellipsis() not to break multi-byte sequence (issue2564)...
r13225
$ cat <<EOF >> $HGRCPATH
> [notify]
> maxsubject = 4
> EOF
$ echo a >> a/a
$ hg --cwd a --encoding utf-8 commit -A -d '0 0' \
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 > -m `$PYTHON -c 'print "\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4"'`
Yuya Nishihara
util: fix ellipsis() not to break multi-byte sequence (issue2564)...
r13225 $ hg --traceback --cwd b --encoding utf-8 pull ../a | \
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 > $PYTHON $TESTTMP/filter.py
Yuya Nishihara
util: fix ellipsis() not to break multi-byte sequence (issue2564)...
r13225 pulling from ../a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 new changesets 0f25f9c22b4c
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Yuya Nishihara
util: fix ellipsis() not to break multi-byte sequence (issue2564)...
r13225 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 8bit
X-Test: foo
Date: * (glob)
Subject: \xc3\xa0... (esc)
From: test@test.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset 0f25f9c22b4c
Yuya Nishihara
util: fix ellipsis() not to break multi-byte sequence (issue2564)...
r13225 Message-Id: <*> (glob)
To: baz@test.com, foo@bar
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 changeset 0f25f9c22b4c in b
Yuya Nishihara
util: fix ellipsis() not to break multi-byte sequence (issue2564)...
r13225 description: \xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4 (esc)
diffstat:
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 a | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
Yuya Nishihara
util: fix ellipsis() not to break multi-byte sequence (issue2564)...
r13225
diffs (7 lines):
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diff -r fccf66cd0c35 -r 0f25f9c22b4c a
Yuya Nishihara
util: fix ellipsis() not to break multi-byte sequence (issue2564)...
r13225 --- a/a Thu Jan 01 00:00:03 1970 +0000
+++ b/a Thu Jan 01 00:00:00 1970 +0000
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 @@ -1,2 +1,3 @@ a a
Yuya Nishihara
util: fix ellipsis() not to break multi-byte sequence (issue2564)...
r13225 +a
(run 'hg update' to get a working copy)
Mads Kiilerich
notify: add option for writing to mbox...
r15561
long lines
$ cat <<EOF >> $HGRCPATH
> [notify]
> maxsubject = 67
> test = False
> mbox = mbox
> EOF
Pulkit Goyal
py3: replace file() with open()...
r36412 $ $PYTHON -c 'open("a/a", "ab").write("no" * 500 + "\xd1\x84" + "\n")'
Mads Kiilerich
notify: add option for writing to mbox...
r15561 $ hg --cwd a commit -A -m "long line"
$ hg --traceback --cwd b pull ../a
pulling from ../a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 new changesets a846b5f6ebb7
Mads Kiilerich
notify: add option for writing to mbox...
r15561 notify: sending 2 subscribers 1 changes
(run 'hg update' to get a working copy)
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 $ $PYTHON $TESTTMP/filter.py < b/mbox
Mads Kiilerich
notify: add option for writing to mbox...
r15561 From test@test.com ... ... .. ..:..:.. .... (re)
MIME-Version: 1.0
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 Content-Type: text/plain; charset="*" (glob)
Mads Kiilerich
mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)...
r15562 Content-Transfer-Encoding: quoted-printable
Mads Kiilerich
notify: add option for writing to mbox...
r15561 X-Test: foo
Date: * (glob)
Subject: long line
From: test@test.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset a846b5f6ebb7
Message-Id: <hg.a846b5f6ebb7.*.*@*> (glob)
Mads Kiilerich
notify: add option for writing to mbox...
r15561 To: baz@test.com, foo@bar
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 changeset a846b5f6ebb7 in b
Mads Kiilerich
notify: add option for writing to mbox...
r15561 description: long line
diffstat:
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 a | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
Mads Kiilerich
notify: add option for writing to mbox...
r15561
diffs (8 lines):
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 diff -r 0f25f9c22b4c -r a846b5f6ebb7 a
Mads Kiilerich
notify: add option for writing to mbox...
r15561 --- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:00 1970 +0000
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 @@ -1,3 +1,4 @@ a a a
Mads Kiilerich
mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)...
r15562 +nonononononononononononononononononononononononononononononononononononono=
nononononononononononononononononononononononononononononononononononononon=
ononononononononononononononononononononononononononononononononononononono=
nononononononononononononononononononononononononononononononononononononon=
ononononononononononononononononononononononononononononononononononononono=
nononononononononononononononononononononononononononononononononononononon=
ononononononononononononononononononononononononononononononononononononono=
nononononononononononononononononononononononononononononononononononononon=
ononononononononononononononononononononononononononononononononononononono=
nononononononononononononononononononononononononononononononononononononon=
ononononononononononononononononononononononononononononononononononononono=
nononononononononononononononononononononononononononononononononononononon=
ononononononononononononononononononononononononononononononononononononono=
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 nonononononononononononono=D1=84
Mads Kiilerich
notify: add option for writing to mbox...
r15561
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 revset selection: send to address that matches branch and repo
$ cat << EOF >> $HGRCPATH
> [hooks]
> incoming.notify = python:hgext.notify.hook
>
> [notify]
> sources = pull
> test = True
> diffstat = False
> maxdiff = 0
>
> [reposubs]
> */a#branch(test) = will_no_be_send@example.com
> */b#branch(test) = notify@example.com
> EOF
$ hg --cwd a branch test
marked working directory as branch test
(branches are permanent and global, did you want a bookmark?)
$ echo a >> a/a
$ hg --cwd a ci -m test -d '1 0'
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 $ hg --traceback --cwd b pull ../a | $PYTHON $TESTTMP/filter.py
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 pulling from ../a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 new changesets f7e5aaed4080
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Test: foo
Date: * (glob)
Subject: test
From: test@test.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset f7e5aaed4080
Message-Id: <hg.f7e5aaed4080.*.*@*> (glob)
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 To: baz@test.com, foo@bar, notify@example.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 changeset f7e5aaed4080 in b
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 description: test
(run 'hg update' to get a working copy)
revset selection: don't send to address that waits for mails
from different branch
$ hg --cwd a update default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo a >> a/a
$ hg --cwd a ci -m test -d '1 0'
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 $ hg --traceback --cwd b pull ../a | $PYTHON $TESTTMP/filter.py
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 pulling from ../a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 0 changes to 0 files (+1 heads)
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 new changesets 645eb6690ecf
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Test: foo
Date: * (glob)
Subject: test
From: test@test.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset 645eb6690ecf
Message-Id: <hg.645eb6690ecf.*.*@*> (glob)
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 To: baz@test.com, foo@bar
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 changeset 645eb6690ecf in b
Michal Sznajder
notify: support revset selection for subscriptions...
r17754 description: test
(run 'hg heads' to see heads)
Yuya Nishihara
notify: do not load style file if template is specified (BC)...
r28951 default template:
$ grep -v '^template =' $HGRCPATH > "$HGRCPATH.new"
$ mv "$HGRCPATH.new" $HGRCPATH
$ echo a >> a/a
$ hg --cwd a commit -m 'default template'
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 $ hg --cwd b pull ../a -q | $PYTHON $TESTTMP/filter.py
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Yuya Nishihara
notify: do not load style file if template is specified (BC)...
r28951 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Date: * (glob)
Subject: changeset in b: default template
From: test@test.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset 5cd4346eed47
Message-Id: <hg.5cd4346eed47.*.*@*> (glob)
Yuya Nishihara
notify: do not load style file if template is specified (BC)...
r28951 To: baz@test.com, foo@bar
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 changeset 5cd4346eed47 in $TESTTMP/b
details: http://test/b?cmd=changeset;node=5cd4346eed47
Yuya Nishihara
notify: do not load style file if template is specified (BC)...
r28951 description: default template
with style:
$ cat <<EOF > notifystyle.map
> changeset = "Subject: {desc|firstline|strip}
> From: {author}
> {""}
> changeset {node|short}"
> EOF
$ cat <<EOF >> $HGRCPATH
> [notify]
> style = $TESTTMP/notifystyle.map
> EOF
$ echo a >> a/a
$ hg --cwd a commit -m 'with style'
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 $ hg --cwd b pull ../a -q | $PYTHON $TESTTMP/filter.py
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Yuya Nishihara
notify: do not load style file if template is specified (BC)...
r28951 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Date: * (glob)
Subject: with style
From: test@test.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset ec8d9d852f56
Message-Id: <hg.ec8d9d852f56.*.*@*> (glob)
Yuya Nishihara
notify: do not load style file if template is specified (BC)...
r28951 To: baz@test.com, foo@bar
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 changeset ec8d9d852f56
Yuya Nishihara
notify: do not load style file if template is specified (BC)...
r28951
with template (overrides style):
$ cat <<EOF >> $HGRCPATH
> template = Subject: {node|short}: {desc|firstline|strip}
> From: {author}
> {""}
> {desc}
> EOF
$ echo a >> a/a
$ hg --cwd a commit -m 'with template'
Augie Fackler
tests: fix test-notify.t to use $PYTHON...
r33684 $ hg --cwd b pull ../a -q | $PYTHON $TESTTMP/filter.py
Igor Ippolitov
mail: encode long unicode lines in emails properly (issue5687)...
r34311 MIME-Version: 1.0
Yuya Nishihara
notify: do not load style file if template is specified (BC)...
r28951 Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Date: * (glob)
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 Subject: 14721b538ae3: with template
Yuya Nishihara
notify: do not load style file if template is specified (BC)...
r28951 From: test@test.com
Joerg Sonnenberger
notify: add maxdiffstat option to truncate long file lists...
r37795 X-Hg-Notification: changeset 14721b538ae3
Message-Id: <hg.14721b538ae3.*.*@*> (glob)
Yuya Nishihara
notify: do not load style file if template is specified (BC)...
r28951 To: baz@test.com, foo@bar
with template
Joerg Sonnenberger
notify: add option to include function names in the diff output...
r38048
showfunc diff
$ cat <<EOF >> $HGRCPATH
> showfunc = True
> template =
> maxdiff = -1
> EOF
$ cd a
$ cat > f1 << EOF
> int main() {
> int a = 0;
> int b = 1;
> int c = 2;
> int d = 3;
> return a + b + c + d;
> }
> EOF
$ hg commit -Am addfunction
adding f1
$ hg --cwd ../b pull ../a
pulling from ../a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
new changesets b86bc16ff894
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Date: * (glob)
Subject: addfunction
From: test@test.com
X-Hg-Notification: changeset b86bc16ff894
Message-Id: <hg.b86bc16ff894.*.*@*> (glob)
To: baz@test.com, foo@bar
changeset b86bc16ff894
diffs (11 lines):
diff -r 14721b538ae3 -r b86bc16ff894 f1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/f1 Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,7 @@
+int main() {
+ int a = 0;
+ int b = 1;
+ int c = 2;
+ int d = 3;
+ return a + b + c + d;
+}
(run 'hg update' to get a working copy)
$ cat > f1 << EOF
> int main() {
> int a = 0;
> int b = 1;
> int c = 2;
> int e = 3;
> return a + b + c + e;
> }
> EOF
$ hg commit -m changefunction
$ hg --cwd ../b --config notify.showfunc=True pull ../a
pulling from ../a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
new changesets e81040e9838c
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Date: * (glob)
Subject: changefunction
From: test@test.com
X-Hg-Notification: changeset e81040e9838c
Message-Id: <hg.e81040e9838c.*.*@*> (glob)
To: baz@test.com, foo@bar
changeset e81040e9838c
diffs (12 lines):
diff -r b86bc16ff894 -r e81040e9838c f1
--- a/f1 Thu Jan 01 00:00:00 1970 +0000
+++ b/f1 Thu Jan 01 00:00:00 1970 +0000
@@ -2,6 +2,6 @@ int main() {
int a = 0;
int b = 1;
int c = 2;
- int d = 3;
- return a + b + c + d;
+ int e = 3;
+ return a + b + c + e;
}
(run 'hg update' to get a working copy)