changeset 4420:b0656b33cc02

add test for patchbomb extension.
author Bryan O'Sullivan <bos@serpentine.com>
date Tue, 08 May 2007 12:20:13 -0700
parents 59ddd43f609f
children d0be96c694f7
files tests/test-patchbomb tests/test-patchbomb.out
diffstat 2 files changed, 151 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-patchbomb	Tue May 08 12:20:13 2007 -0700
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+echo "[extensions]" >> $HGRCPATH
+echo "patchbomb=" >> $HGRCPATH
+
+hg init
+echo a > a
+hg commit -Ama -d '1 0'
+
+hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar tip | \
+  sed -e 's/\(Message-Id:.*@\).*/\1/'
+
+echo b > b
+hg commit -Amb -d '2 0'
+
+hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test 0:tip | \
+  sed -e 's/\(Message-Id:.*@\|In-Reply-To:.*@\).*/\1/'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-patchbomb.out	Tue May 08 12:20:13 2007 -0700
@@ -0,0 +1,134 @@
+adding a
+hg email: option --date not recognized
+hg email [OPTION]... [DEST]...
+
+send changesets by email
+
+    By default, diffs are sent in the format generated by hg export,
+    one per message.  The series starts with a "[PATCH 0 of N]"
+    introduction, which describes the series as a whole.
+
+    Each patch email has a Subject line of "[PATCH M of N] ...", using
+    the first line of the changeset description as the subject text.
+    The message contains two or three body parts.  First, the rest of
+    the changeset description.  Next, (optionally) if the diffstat
+    program is installed, the result of running diffstat on the patch.
+    Finally, the patch itself, as generated by "hg export".
+
+    With --outgoing, emails will be generated for patches not
+    found in the destination repository (or only those which are
+    ancestors of the specified revisions if any are provided)
+
+    With --bundle, changesets are selected as for --outgoing,
+    but a single email containing a binary Mercurial bundle as an
+    attachment will be sent.
+
+    Examples:
+
+    hg email -r 3000          # send patch 3000 only
+    hg email -r 3000 -r 3001  # send patches 3000 and 3001
+    hg email -r 3000:3005     # send patches 3000 through 3005
+    hg email 3000             # send patch 3000 (deprecated)
+
+    hg email -o               # send all patches not in default
+    hg email -o DEST          # send all patches not in DEST
+    hg email -o -r 3000       # send all ancestors of 3000 not in default
+    hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST
+
+    hg email -b               # send bundle of all patches not in default
+    hg email -b DEST          # send bundle of all patches not in DEST
+    hg email -b -r 3000       # bundle of all ancestors of 3000 not in default
+    hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST
+
+    Before using this command, you will need to enable email in your hgrc.
+    See the [email] section in hgrc(5) for details.
+
+options:
+
+ -a --attach     send patches as inline attachments
+    --bcc        email addresses of blind copy recipients
+ -c --cc         email addresses of copy recipients
+ -d --diffstat   add diffstat output to messages
+ -g --git        use git extended diff format
+ -f --from       email address of sender
+    --plain      omit hg patch header
+ -n --test       print messages that would be sent
+ -m --mbox       write messages to mbox file instead of sending them
+ -o --outgoing   send changes not found in the target repository
+ -b --bundle     send changes not in target as a binary bundle
+ -r --rev        a revision to send
+ -s --subject    subject of first message (intro or single patch)
+ -t --to         email addresses of recipients
+    --force      run even when remote repository is unrelated (with -b)
+    --base       a base changeset to specify instead of a destination (with -b)
+ -e --ssh        specify ssh command to use
+    --remotecmd  specify hg command to run on the remote side
+
+use "hg -v help email" to show global options
+adding b
+hg email: option --date not recognized
+hg email [OPTION]... [DEST]...
+
+send changesets by email
+
+    By default, diffs are sent in the format generated by hg export,
+    one per message.  The series starts with a "[PATCH 0 of N]"
+    introduction, which describes the series as a whole.
+
+    Each patch email has a Subject line of "[PATCH M of N] ...", using
+    the first line of the changeset description as the subject text.
+    The message contains two or three body parts.  First, the rest of
+    the changeset description.  Next, (optionally) if the diffstat
+    program is installed, the result of running diffstat on the patch.
+    Finally, the patch itself, as generated by "hg export".
+
+    With --outgoing, emails will be generated for patches not
+    found in the destination repository (or only those which are
+    ancestors of the specified revisions if any are provided)
+
+    With --bundle, changesets are selected as for --outgoing,
+    but a single email containing a binary Mercurial bundle as an
+    attachment will be sent.
+
+    Examples:
+
+    hg email -r 3000          # send patch 3000 only
+    hg email -r 3000 -r 3001  # send patches 3000 and 3001
+    hg email -r 3000:3005     # send patches 3000 through 3005
+    hg email 3000             # send patch 3000 (deprecated)
+
+    hg email -o               # send all patches not in default
+    hg email -o DEST          # send all patches not in DEST
+    hg email -o -r 3000       # send all ancestors of 3000 not in default
+    hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST
+
+    hg email -b               # send bundle of all patches not in default
+    hg email -b DEST          # send bundle of all patches not in DEST
+    hg email -b -r 3000       # bundle of all ancestors of 3000 not in default
+    hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST
+
+    Before using this command, you will need to enable email in your hgrc.
+    See the [email] section in hgrc(5) for details.
+
+options:
+
+ -a --attach     send patches as inline attachments
+    --bcc        email addresses of blind copy recipients
+ -c --cc         email addresses of copy recipients
+ -d --diffstat   add diffstat output to messages
+ -g --git        use git extended diff format
+ -f --from       email address of sender
+    --plain      omit hg patch header
+ -n --test       print messages that would be sent
+ -m --mbox       write messages to mbox file instead of sending them
+ -o --outgoing   send changes not found in the target repository
+ -b --bundle     send changes not in target as a binary bundle
+ -r --rev        a revision to send
+ -s --subject    subject of first message (intro or single patch)
+ -t --to         email addresses of recipients
+    --force      run even when remote repository is unrelated (with -b)
+    --base       a base changeset to specify instead of a destination (with -b)
+ -e --ssh        specify ssh command to use
+    --remotecmd  specify hg command to run on the remote side
+
+use "hg -v help email" to show global options