Show More
@@ -52,6 +52,9 from mercurial import cmdutil, commands, | |||||
52 | from mercurial.i18n import _ |
|
52 | from mercurial.i18n import _ | |
53 | from mercurial.node import bin |
|
53 | from mercurial.node import bin | |
54 |
|
54 | |||
|
55 | cmdtable = {} | |||
|
56 | command = cmdutil.command(cmdtable) | |||
|
57 | ||||
55 | def prompt(ui, prompt, default=None, rest=':'): |
|
58 | def prompt(ui, prompt, default=None, rest=':'): | |
56 | if not ui.interactive() and default is None: |
|
59 | if not ui.interactive() and default is None: | |
57 | raise util.Abort(_("%s Please enter a valid value" % (prompt + rest))) |
|
60 | raise util.Abort(_("%s Please enter a valid value" % (prompt + rest))) | |
@@ -146,6 +149,40 def makepatch(ui, repo, patchlines, opts | |||||
146 | msg['X-Mercurial-Node'] = node |
|
149 | msg['X-Mercurial-Node'] = node | |
147 | return msg, subj, ds |
|
150 | return msg, subj, ds | |
148 |
|
151 | |||
|
152 | emailopts = [ | |||
|
153 | ('a', 'attach', None, _('send patches as attachments')), | |||
|
154 | ('i', 'inline', None, _('send patches as inline attachments')), | |||
|
155 | ('', 'bcc', [], _('email addresses of blind carbon copy recipients')), | |||
|
156 | ('c', 'cc', [], _('email addresses of copy recipients')), | |||
|
157 | ('', 'confirm', None, _('ask for confirmation before sending')), | |||
|
158 | ('d', 'diffstat', None, _('add diffstat output to messages')), | |||
|
159 | ('', 'date', '', _('use the given date as the sending date')), | |||
|
160 | ('', 'desc', '', _('use the given file as the series description')), | |||
|
161 | ('f', 'from', '', _('email address of sender')), | |||
|
162 | ('n', 'test', None, _('print messages that would be sent')), | |||
|
163 | ('m', 'mbox', '', _('write messages to mbox file instead of sending them')), | |||
|
164 | ('', 'reply-to', [], _('email addresses replies should be sent to')), | |||
|
165 | ('s', 'subject', '', _('subject of first message (intro or single patch)')), | |||
|
166 | ('', 'in-reply-to', '', _('message identifier to reply to')), | |||
|
167 | ('', 'flag', [], _('flags to add in subject prefixes')), | |||
|
168 | ('t', 'to', [], _('email addresses of recipients'))] | |||
|
169 | ||||
|
170 | @command('email', | |||
|
171 | [('g', 'git', None, _('use git extended diff format')), | |||
|
172 | ('', 'plain', None, _('omit hg patch header')), | |||
|
173 | ('o', 'outgoing', None, | |||
|
174 | _('send changes not found in the target repository')), | |||
|
175 | ('b', 'bundle', None, _('send changes not in target as a binary bundle')), | |||
|
176 | ('', 'bundlename', 'bundle', | |||
|
177 | _('name of the bundle attachment file'), _('NAME')), | |||
|
178 | ('r', 'rev', [], _('a revision to send'), _('REV')), | |||
|
179 | ('', 'force', None, _('run even when remote repository is unrelated ' | |||
|
180 | '(with -b/--bundle)')), | |||
|
181 | ('', 'base', [], _('a base changeset to specify instead of a destination ' | |||
|
182 | '(with -b/--bundle)'), _('REV')), | |||
|
183 | ('', 'intro', None, _('send an introduction email for a single patch')), | |||
|
184 | ] + emailopts + commands.remoteopts, | |||
|
185 | _('hg email [OPTION]... [DEST]...')) | |||
149 | def patchbomb(ui, repo, *revs, **opts): |
|
186 | def patchbomb(ui, repo, *revs, **opts): | |
150 | '''send changesets by email |
|
187 | '''send changesets by email | |
151 |
|
188 | |||
@@ -511,52 +548,3 def patchbomb(ui, repo, *revs, **opts): | |||||
511 |
|
548 | |||
512 | ui.progress(_('writing'), None) |
|
549 | ui.progress(_('writing'), None) | |
513 | ui.progress(_('sending'), None) |
|
550 | ui.progress(_('sending'), None) | |
514 |
|
||||
515 | emailopts = [ |
|
|||
516 | ('a', 'attach', None, _('send patches as attachments')), |
|
|||
517 | ('i', 'inline', None, _('send patches as inline attachments')), |
|
|||
518 | ('', 'bcc', [], _('email addresses of blind carbon copy recipients')), |
|
|||
519 | ('c', 'cc', [], _('email addresses of copy recipients')), |
|
|||
520 | ('', 'confirm', None, _('ask for confirmation before sending')), |
|
|||
521 | ('d', 'diffstat', None, _('add diffstat output to messages')), |
|
|||
522 | ('', 'date', '', _('use the given date as the sending date')), |
|
|||
523 | ('', 'desc', '', _('use the given file as the series description')), |
|
|||
524 | ('f', 'from', '', _('email address of sender')), |
|
|||
525 | ('n', 'test', None, _('print messages that would be sent')), |
|
|||
526 | ('m', 'mbox', '', |
|
|||
527 | _('write messages to mbox file instead of sending them')), |
|
|||
528 | ('', 'reply-to', [], _('email addresses replies should be sent to')), |
|
|||
529 | ('s', 'subject', '', |
|
|||
530 | _('subject of first message (intro or single patch)')), |
|
|||
531 | ('', 'in-reply-to', '', |
|
|||
532 | _('message identifier to reply to')), |
|
|||
533 | ('', 'flag', [], _('flags to add in subject prefixes')), |
|
|||
534 | ('t', 'to', [], _('email addresses of recipients')), |
|
|||
535 | ] |
|
|||
536 |
|
||||
537 |
|
||||
538 | cmdtable = { |
|
|||
539 | "email": |
|
|||
540 | (patchbomb, |
|
|||
541 | [('g', 'git', None, _('use git extended diff format')), |
|
|||
542 | ('', 'plain', None, _('omit hg patch header')), |
|
|||
543 | ('o', 'outgoing', None, |
|
|||
544 | _('send changes not found in the target repository')), |
|
|||
545 | ('b', 'bundle', None, |
|
|||
546 | _('send changes not in target as a binary bundle')), |
|
|||
547 | ('', 'bundlename', 'bundle', |
|
|||
548 | _('name of the bundle attachment file'), _('NAME')), |
|
|||
549 | ('r', 'rev', [], |
|
|||
550 | _('a revision to send'), _('REV')), |
|
|||
551 | ('', 'force', None, |
|
|||
552 | _('run even when remote repository is unrelated ' |
|
|||
553 | '(with -b/--bundle)')), |
|
|||
554 | ('', 'base', [], |
|
|||
555 | _('a base changeset to specify instead of a destination ' |
|
|||
556 | '(with -b/--bundle)'), |
|
|||
557 | _('REV')), |
|
|||
558 | ('', 'intro', None, |
|
|||
559 | _('send an introduction email for a single patch')), |
|
|||
560 | ] + emailopts + commands.remoteopts, |
|
|||
561 | _('hg email [OPTION]... [DEST]...')) |
|
|||
562 | } |
|
General Comments 0
You need to be logged in to leave comments.
Login now