Diff for "Code/Review"

Not logged in - Log In / Register

Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2008-09-10 18:20:36
Size: 2742
Editor: 92-237-59-186
Comment:
Revision 7 as of 2008-10-09 14:41:57
Size: 4006
Editor: 92-237-59-186
Comment: JML suggested fix
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
{{{

Use this template when writing a new page of the Launchpad user guide.

Important things to remember:

 * The table of contents should only remain if there is more than one section.
 * Keep the "Draft" message until the page has been reviewed and accepted.
 * Remove these instructions and the "Draft" message before publication.

Want to know more? See the DocTeam page.

}}}
Line 21: Line 7:
Use the first two paragraphs to summarise all the important points about this article. Thanks to Bazaar's distributed model, you can [[Code/FindingAndDownloading|get full access to the code of any branch]] hosted in Launchpad, with version control and history, right on your own machine.
Line 23: Line 9:
Tell the reader if this is the information they need as soon as possible. That flexibility means you can start work on a project without having to get special permissions to commit code. Of course, if you make changes that you want to see integrated into the project's main line you need a way of telling the main line's owner that you want to merge.
Line 25: Line 11:
= Instructional text = Launchpad and Bazaar make that easy. Bazaar was made to merge: even complex merges can be relatively easy. Launchpad helps look after the community process of discussing whether a proposed merge is a good idea.
Line 27: Line 13:
Where appropriate, use step by step instructions: = Proposing a merge =
Line 29: Line 15:
'''Step 1:''' Give concise and unambiguous instructions. ||<tablestyle="float: right; font-size: 0.8em; width:30%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">{{attachment:proposed-merges.png}}||
||<style="text-align: center;">'''Proposed merges'''||
Line 31: Line 18:
'''Step 2:''' Try not to state the obvious, unless you're writing for a novice user. When you've come to a stage in your development where you're ready to merge your code into another branch registered against the project - such as its main line - you can make a public merge proposal.
Line 33: Line 20:
{i} '''Note:''' Highlight important information with a note. To do so, visit your branch's overview page, click ''Propose for merging into another branch'', then follow the on-screen instructions.
Line 35: Line 22:
'''Step 3:''' Use a well cropped screen shot if it will help orient the reader. Don't let the screen shot replace instructional text: not everyone can see your screen shot. Don't worry about borders or annotation for small, cropped screen shots such as this. Now, Launchpad will notify the proposed target branch's owner of your proposal. Anyone viewing the overview page for your branch, or the target branch, will also see a link to view the details of your proposal.
Line 37: Line 24:
{{attachment:screen-shot.png}} = Code review =
Line 39: Line 26:
{i} '''Warning:''' If you're about to tell the reader to delete or otherwise change something that would be hard to restore, warn them. Once you've proposed a merge, anyone who has a Launchpad account can comment and vote on the proposal. Taking part in a code review is virtually hassle-free:
Line 41: Line 28:
 * '''no barriers:''' anyone can take part, so long as they have a Launchpad account
 * '''convenient:''' you can get updates and contribute using email, as well as the web interface.
 
Each review consists of votes - approve, abstain or disapprove - and a threaded conversation much as you might find on a web forum or a mailing list. If you're already familiar with [[Bugs|Launchpad Bugs]], you'll be right at home with code reviews.
Line 42: Line 33:
== Full screen shots == As a subscriber to or participant in the conversation, you'll receive email updates as the code progresses. Just as with the bug tracker, you can take part in the review both by visiting Launchpad's web interface and by replying to any of the emails you receive. In effect, each code review becomes an ad-hoc mailing list that exists for the lifetime of the review.
Line 44: Line 35:
||<tablestyle="float:right; font-size: 0.8em; width:30%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">{{attachment:proj-announce.png}}||
||<style="text-align: center;">'''Describe the screen shot here'''||
If you want to make your vote specific to one aspect of the proposed merge, you can add a tag. For example: if you wanted to vote disapprove, based on the user interface, you could add a tag of ''ui''.
Line 47: Line 37:
Some screen shots will be better placed to the right of your text. As they're not placed directly below the text that they support, use a border and short description. For an example of a review, take a look at a [[https://code.launchpad.net/~therve/storm/binary-and/+merge/387|code review in the Storm project]].
Line 49: Line 39:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam sagittis. Aliquam eros dui, scelerisque id, consequat in, accumsan vitae, pede. Suspendisse neque ligula, scelerisque ac, mattis ut, aliquam quis, odio. == Email interface ==
Line 51: Line 41:
Proin nunc nisi, fringilla ac, congue ac, luctus eu, lacus. Maecenas ac purus. Cras felis metus, ultricies non, euismod ac, accumsan eleifend, leo. Quisque imperdiet tempus tellus. Using the code review email interface is straightforward. Reply to an email from the code review and your comment is added to the discussion in Launchpad. If you want to vote by email, leave a space at the start of the line and then one of the following commands:
Line 53: Line 43:
Ut euismod, diam nec adipiscing interdum, tortor orci fringilla nisi, vel blandit erat magna at nisi. Fusce hendrerit odio non metus. Mauris nisl massa, dapibus id, feugiat quis, blandit a, quam. Integer tincidunt feugiat nunc. Curabitur iaculis egestas elit. Nam imperdiet suscipit odio.  * vote approve
 * vote disapprove
 * vote abstain

So, if you wanted to vote ''disapprove'', add a tag of ''UI'' and also leave a comment, you'd write:

{{{
This is a sensisble change but I find the user interface confusing.

 vote disapprove UI
}}}

= Next step =

You can pick choose which parts of Launchpad you want to use. However, when you use different parts of Launchpad together you can make them work together. Let's look at how you can [[Code/BugAndBlueprintLinks|link bug report and blueprints to branches of code]].

DRAFT: this page is a work in progress. Please seek further help or check the wiki index for a complete page on this topic.

Overview

Thanks to Bazaar's distributed model, you can get full access to the code of any branch hosted in Launchpad, with version control and history, right on your own machine.

That flexibility means you can start work on a project without having to get special permissions to commit code. Of course, if you make changes that you want to see integrated into the project's main line you need a way of telling the main line's owner that you want to merge.

Launchpad and Bazaar make that easy. Bazaar was made to merge: even complex merges can be relatively easy. Launchpad helps look after the community process of discussing whether a proposed merge is a good idea.

Proposing a merge

proposed-merges.png

Proposed merges

When you've come to a stage in your development where you're ready to merge your code into another branch registered against the project - such as its main line - you can make a public merge proposal.

To do so, visit your branch's overview page, click Propose for merging into another branch, then follow the on-screen instructions.

Now, Launchpad will notify the proposed target branch's owner of your proposal. Anyone viewing the overview page for your branch, or the target branch, will also see a link to view the details of your proposal.

Code review

Once you've proposed a merge, anyone who has a Launchpad account can comment and vote on the proposal. Taking part in a code review is virtually hassle-free:

  • no barriers: anyone can take part, so long as they have a Launchpad account

  • convenient: you can get updates and contribute using email, as well as the web interface.

Each review consists of votes - approve, abstain or disapprove - and a threaded conversation much as you might find on a web forum or a mailing list. If you're already familiar with Launchpad Bugs, you'll be right at home with code reviews.

As a subscriber to or participant in the conversation, you'll receive email updates as the code progresses. Just as with the bug tracker, you can take part in the review both by visiting Launchpad's web interface and by replying to any of the emails you receive. In effect, each code review becomes an ad-hoc mailing list that exists for the lifetime of the review.

If you want to make your vote specific to one aspect of the proposed merge, you can add a tag. For example: if you wanted to vote disapprove, based on the user interface, you could add a tag of ui.

For an example of a review, take a look at a code review in the Storm project.

Email interface

Using the code review email interface is straightforward. Reply to an email from the code review and your comment is added to the discussion in Launchpad. If you want to vote by email, leave a space at the start of the line and then one of the following commands:

  • vote approve
  • vote disapprove
  • vote abstain

So, if you wanted to vote disapprove, add a tag of UI and also leave a comment, you'd write:

This is a sensisble change but I find the user interface confusing.

 vote disapprove UI

Next step

You can pick choose which parts of Launchpad you want to use. However, when you use different parts of Launchpad together you can make them work together. Let's look at how you can link bug report and blueprints to branches of code.

Code/Review (last edited 2024-03-19 15:10:02 by ruinedyourlife)