Rev 64: Look at submit branch for submit details. in file:///home/jelmer/bzr-submit/nowrap/

Jelmer Vernooij jelmer at samba.org
Wed Apr 11 16:25:44 BST 2007


At file:///home/jelmer/bzr-submit/nowrap/

------------------------------------------------------------
revno: 64
revision-id: jelmer at samba.org-20070411152540-4m0xbn3k0myd2208
parent: jelmer at samba.org-20070411150352-i05y7y3iyztrciad
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: nowrap
timestamp: Wed 2007-04-11 17:25:40 +0200
message:
  Look at submit branch for submit details.
modified:
  __init__.py                    __init__.py-20060624164558-9aabyghnw7kxeuwg-1
  submit_helpers.py              submit_helpers.py-20060624164558-9aabyghnw7kxeuwg-2
=== modified file '__init__.py'
--- a/__init__.py	2007-04-11 15:03:52 +0000
+++ b/__init__.py	2007-04-11 15:25:40 +0000
@@ -32,7 +32,7 @@
     an command-alias for each project. 
     """
 
-    takes_args = ['branch?']
+    takes_args = ['submit-location?']
     takes_options = ['message',
                      'revision',
                      'remember',
@@ -53,11 +53,20 @@
                     ]
     aliases = ['submit']
 
-    def run(self, branch=None, from_address=None, revision=None, **parameters):
+    def run(self, submit_location=None, from_address=None, revision=None, **parameters):
         from submit_helpers import submit_bundle
         from bzrlib.branch import Branch
 
         branch = Branch.open_containing('.')[0]
+        if submit_location is None:
+            submit_location = branch.get_submit_branch()
+        if submit_location is None:
+            submit_location = branch.get_parent()
+        if submit_location is None:
+            raise BzrCommandError("No base branch known or specified")
+
+        submit_branch = Branch.open_containing(submit_location)[0]
+
         if revision is None:
             rev_id = branch.last_revision()
         else:
@@ -67,7 +76,8 @@
                 rev_id = revision[1].in_history(branch).rev_id    
                 if rev_id is None:
                     rev_id = revision[0].in_history(branch).rev_id
-        return submit_bundle(branch, mail_from=from_address, revision=rev_id,
+        return submit_bundle(branch=branch, submit_branch=submit_branch,
+                             mail_from=from_address, revision=rev_id,
                              **parameters)
 
 

=== modified file 'submit_helpers.py'
--- a/submit_helpers.py	2007-04-11 15:03:52 +0000
+++ b/submit_helpers.py	2007-04-11 15:25:40 +0000
@@ -217,13 +217,15 @@
         msg.attach(part)
     return msg.as_string()
 
-def submit_bundle(branch=None, revision=None, subject=None, dry_run=False, 
+def submit_bundle(branch=None, submit_branch=None, 
+    revision=None, subject=None, dry_run=False, 
     message_file=None, address=None, remember=False, target='default', 
     mail_from=None, output_file=None):
     """Submit a bundle via email.
     
         Parameters:
             branch, revision: Same as the parameter to the bundle command
+            submit_branch: Parent branch against which the bundle is submitted
             subject: Message subject (defaults to [PATCH] + commit_message)
             dry_run: Print the message to stdout
             message_file: Read message from this file
@@ -236,6 +238,7 @@
     """
     
     config = BranchConfigSubmitBundle(branch)
+    submit_config = BranchConfigSubmitBundle(submit_branch)
     
     if output_file:
         dry_run = True
@@ -244,14 +247,7 @@
     if not mail_from:
         mail_from = config.username()
 
-    try:
-        mail_to, multipart, pqm = get_mailto(config, address, target, 
-            remember, dry_run)
-    except BzrCommandError:
-        #Ugly hack
-        import __init__
-        __init__.read_options(branch)
-        mail_to, multipart, pqm = get_mailto(config, address, target, 
+    mail_to, multipart, pqm = get_mailto(submit_config, address, target, 
             remember, dry_run)
 
     if revision is None:




More information about the bazaar-commits mailing list