Diff for "Code/BzrSend"

Not logged in - Log In / Register

Differences between revisions 4 and 9 (spanning 5 versions)
Revision 4 as of 2008-12-17 22:12:15
Size: 3246
Editor: abentley
Comment:
Revision 9 as of 2008-12-20 15:45:00
Size: 3552
Editor: abentley
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
submit_branch = bzr+ssh://bazaar.launchpad.net/~path-to/launchpad/trunk submit_branch = /home/rockstar/Projects/launchpad/trunk
Line 12: Line 12:
public_location = bzr+ssh://bazaar.launchpad.net/~rockstar/launchpad/
public_location:policy = appendpath
public_branch = bzr+ssh://bazaar.launchpad.net/~rockstar/launchpad/
public_branch:policy = appendpath
Line 15: Line 15:


[/home/rockstar/Projects/launchpad/trunk]
public_branch = bzr+ssh://bazaar.launchpad.net/~launchpad-pqm/launchpad/devel
Line 23: Line 27:
'''For thunderbird users:''' It's recommended that you tell bazaar about your mail client in ~/.bazaar/bazaar.conf == Thunderbird Configuration ==
If you
use Thunderbird, it's recommended that you tell bazaar about your mail client in ~/.bazaar/bazaar.conf. (xdg-email works fine with other clients.)
Line 30: Line 35:


Line 35: Line 43:
bzr lpsend bzr push; bzr lpsend
Line 50: Line 58:
bzr send -no-bundle --mail-to merge@code.launchpad.net -r 1234..1239 bzr lpsend -r 1234..1239
Line 58: Line 66:
'''Answer:''' Launchpad's Loom support needs some work, and this doesn't make it better or worse. You can specify a diff between threads by doing '''Answer:''' Launchpad's Loom support needs some work, and this doesn't make it better or worse. However, you can specify a diff between threads by doing
Line 61: Line 69:
bzr send -r thread:..-1 bzr lpsend -r thread:..-1
Line 65: Line 73:
'''Question:''' Does this handle dependent branches. '''Question:''' Does this handle dependent branches?
Line 67: Line 75:
'''Answer:''' No, dependent branches are not currently supported for merge proposals. We do expect to resurrect the feature at some point. '''Answer:''' No, dependent branches are not currently supported for merge proposals. We do expect to resurrect the feature at some point, but it was much faster to start with the simple case.
Line 72: Line 80:
'''Answer:''' Not yet, but this is a planned feature. However, if you receive an email about the merge proposal being created, it will include the diff. '''Answer:''' Not yet, but this is a planned feature. However, if you receive an email about the merge proposal being created, it will include the diff as an attachment.
Line 77: Line 85:
'''Answer:''' lp: bzr+ssh:, sftp: and http: are all recognized. Remote URLs for Remote Branches and Mirrored Branches will work. '''Answer:''' lp:, bzr+ssh:, sftp: and http: are all recognized. Remote URLs for Remote Branches and Mirrored Branches will work.  Decorated versions, such as nosmart+bzr+ssh: will not work.
Line 82: Line 90:
'''Answer:''' Yes. As long as the target branch is represented on Launchpad, it will create RemoteBranch for the source branch if the source is not a Launchpad branch.
'''Answer:''' Yes. Launchpad will create !RemoteBranch for the source branch if the source is not represented on Launchpad. However, the target branch must be known to Launchpad.

As of Launchpad 2.1.12, Launchpad now supports creating merge proposals using bzr send.

One-time set-up

Please make sure you have your public and submit branches set properly. Below is an example ~/.bazaar/locations.conf

[/home/rockstar/Projects/launchpad/]
submit_branch = /home/rockstar/Projects/launchpad/trunk
push_location = bzr+ssh://bazaar.launchpad.net/~rockstar/launchpad/
push_location:policy = appendpath
public_branch = bzr+ssh://bazaar.launchpad.net/~rockstar/launchpad/
public_branch:policy = appendpath
submit_to = merge@code.launchpad.net


[/home/rockstar/Projects/launchpad/trunk]
public_branch = bzr+ssh://bazaar.launchpad.net/~launchpad-pqm/launchpad/devel

In bazaar.conf, add an entry to your aliases:

[ALIASES]
lpsend=send --no-bundle

Thunderbird Configuration

If you use Thunderbird, it's recommended that you tell bazaar about your mail client in ~/.bazaar/bazaar.conf. (xdg-email works fine with other clients.)

[DEFAULT]
mail_client = thunderbird

Creating a New Merge Proposal

Once your environment is set up, bzr send is as easy as

bzr push; bzr lpsend

This will create a merge proposal and a diff and place them in your preferred email client to polish off and send to Launchpad. The body of your message will be used as the initial comment.

This example uses the lpsend alias, to ensure you specify --no-bundle. If you forget to supply --no-bundle, bzr send will not verify that your public branch is up-to-date. (Bundle support for Launchpad is coming soon.)

Frequently Asked Questions

Question: How do I specify revisions to generate the diff from?

Answer:When doing bzr submit, you may want to only generate a diff from a range of revisions. You can use -r parameter to specify the range, as below:

bzr lpsend -r 1234..1239

This will generate a diff from revno 1234 to 1239.

Question: Does this work with looms?

Answer: Launchpad's Loom support needs some work, and this doesn't make it better or worse. However, you can specify a diff between threads by doing

bzr lpsend -r thread:..-1

Question: Does this handle dependent branches?

Answer: No, dependent branches are not currently supported for merge proposals. We do expect to resurrect the feature at some point, but it was much faster to start with the simple case.

Question: Can I download the diff from the merge proposal in the web UI?

Answer: Not yet, but this is a planned feature. However, if you receive an email about the merge proposal being created, it will include the diff as an attachment.

Question: What URLs are recognized?

Answer: lp:, bzr+ssh:, sftp: and http: are all recognized. Remote URLs for Remote Branches and Mirrored Branches will work. Decorated versions, such as nosmart+bzr+ssh: will not work.

Question: Can I submit a branch that is not hosted on Launchpad?

Answer: Yes. Launchpad will create RemoteBranch for the source branch if the source is not represented on Launchpad. However, the target branch must be known to Launchpad.

Question: Should I use the --no-patch option to bzr send?

Answer: No. Launchpad uses that patch verbatim. If it's not present, LP cannot show a diff.

Question: What if I want to use my editor, like review-submit did?

Answer: You can configure Bazaar to use the "editor" mail client.

Code/BzrSend (last edited 2011-07-15 13:23:18 by bac)