~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/builtins.py

  • Committer: Aaron Bentley
  • Date: 2007-08-09 21:23:15 UTC
  • mto: (2681.5.3 bzr-mail)
  • mto: This revision was merged to the branch mainline in revision 2736.
  • Revision ID: abentley@panoramicfeedback.com-20070809212315-ozfu5n3b7k3afntl
Add support for submit_to config option

Show diffs side-by-side

added added

removed removed

Lines of Context:
3774
3774
 
3775
3775
 
3776
3776
class cmd_send(Command):
3777
 
    """Create a merge-directive for submiting changes.
 
3777
    """Mail or create a merge-directive for submiting changes.
3778
3778
 
3779
3779
    A merge directive provides many things needed for requesting merges:
3780
3780
 
3799
3799
    can be used as your actual submit branch, once you have set public_branch
3800
3800
    for that mirror.
3801
3801
 
 
3802
    By default, mail is sent using your editor to enter a submit message.  You
 
3803
    can use Mozilla Thunderbird or Icedove by setting the configuration option
 
3804
    mail_client=thunderbird.
 
3805
 
 
3806
    If mail is being sent, a to address is required.  This can be supplied
 
3807
    either on the commandline, or by setting the submit_to configuration
 
3808
    option.
 
3809
 
3802
3810
    Two formats are currently supported: "4" uses revision bundle format 4 and
3803
3811
    merge directive format 2.  It is significantly faster and smaller than
3804
3812
    older formats.  It is compatible with Bazaar 0.19 and later.  It is the
3847
3855
             no_bundle, no_patch, output, from_, mail_to, message):
3848
3856
        from bzrlib.revision import ensure_null, NULL_REVISION
3849
3857
        if output is None:
3850
 
            if mail_to is None:
3851
 
                raise errors.BzrCommandError('No mail-to address specified')
3852
3858
            outfile = StringIO()
3853
3859
        elif output == '-':
3854
3860
            outfile = self.outf
3857
3863
        try:
3858
3864
            branch = Branch.open_containing(from_)[0]
3859
3865
            if output is None:
3860
 
                mail_client = branch.get_config().get_mail_client()
 
3866
                config = branch.get_config()
 
3867
                if mail_to is None:
 
3868
                    mail_to = config.get_user_option('submit_to')
 
3869
                if mail_to is None:
 
3870
                    raise errors.BzrCommandError('No mail-to address'
 
3871
                                                 ' specified')
 
3872
                mail_client = config.get_mail_client()
3861
3873
            if remember and submit_branch is None:
3862
3874
                raise errors.BzrCommandError(
3863
3875
                    '--remember requires a branch to be specified.')