(no commit message)
[openafs-wiki.git] / AFSLore / GitDevelopers.mdwn
index bba2674..d3872fb 100644 (file)
@@ -2,7 +2,7 @@
 
 Git opens up a number of new options for contributing to OpenAFS. For the first time, it is easy to review code that is pending addition to the OpenAFS tree. In fact, reviewing code is one of the best ways to ensure that the releases that OpenAFS ships remain stable and functional. If you are interested purely in reviewing, then please skip to that section towards the end of this document.
 
-Git also changes the way that developers interact with the OpenAFS tree. Instead of just having a single version of the tree on your local machine, you have a compressed copy of the entire repository. Additionally, you no longer have to produce patches to send code upstream - any developer can push into the OpenAFS repository directly, through gerrit, our code review tool.
+Git also changes the way that developers interact with the OpenAFS tree. Instead of just having a single version of the tree on your local machine, you have a compressed copy of the entire repository. Additionally, you no longer have to produce patches to send code upstream - any developer can push into the OpenAFS repository directly, through gerrit, our code review tool. [New Home Construction](http://www.dwh.co.uk)
 
 Whilst git is a far more powerful tool than CVS it is also, inevitably, more complex. This document can only scratch the surface of what's possible with git - there are many, many, documents available that describe git in greater detail, and references to some of them are provided at the end.
 
@@ -10,7 +10,7 @@ Whilst git is a far more powerful tool than CVS it is also, inevitably, more com
 
 Firstly, if your machine doesn't already have it installed, get a copy of the 'git' version control system. This is available for many platforms from their upstream package repositories or, failing that, can be downloaded in both source and binary form from <http://git-scm.com/download>
 
-## <a name="Getting the _OpenAFS repository"></a> Getting the OpenAFS repository
+## <a name="Getting the _OpenAFS repository"></a> Getting the OpenAFS repository 
 
 You can download the entire OpenAFS repository by running
 
@@ -60,7 +60,7 @@ or by creating a topic branch as discussed below.
 
 ## <a name="Checkout a particular release"></a> Checkout a particular release
 
-Every release version of [[OpenAFS]] is marked in the repository by means of a tag.
+Every release version of [[OpenAFS]] is marked in the repository by means of a tag. [PPI Claims UK](http://www.gladstonebrookes.co.uk/)
 
 A complete list of all tags can be obtained by running
 
@@ -99,6 +99,8 @@ If you want to make this settings for all of your repositories, then add the --g
 
 Note that this email address is the address by which you will be identified in [[OpenAFS]]'s revision history - it is also the address to which the gerrit code review tool will send all email related to the review of your code.
 
+If you plan on making changes to OpenAFS (and why else would you be reading this?) you should probably also grab <b>The change id hook</b> described in <b>Registering With gerrit</b> below. You can grab and apply the hook before registering, and it'll make sure your pre-registration development has the appropriate change IDs in the log. The hook only applies to your openafs development, so you're not going to mess up any of your non-OpenAFS work.
+
 ## <a name="Starting development"></a> Starting development
 
 We strongly recommend that you do all of your development upon 'topic branches' This allows you to isolate multiple unrelated changes, and makes it easier to keep your tree in sync with the upstream [[OpenAFS]] one.
@@ -119,7 +121,7 @@ For example, to work on a patch to fix printf warnings, based on the current dev
 
 This puts me on a new branch, ready to start writing code. All new development should be based upon the origin/master branch, submissions based upon other branches are unlikely to be accepted, unless they address issues that are solely present in that branch.
 
-'git add' is used to tell git about any new files you create as part of your patch. If your patch results in any new compilation products (object files, new executables, etc) that git should not be tracking, please make sure that they're caught by the .gitignore mechanism. You can do this by checking that they don't appear in the output from 'git status'
+'git add' is used to tell git about any new files you create as part of your patch. If your patch results in any new compilation products (object files, new executables, etc) that git should not be tracking, please make sure that they're caught by the .gitignore mechanism. You can do this by checking that they don't appear in the output from 'git status' [Data Recovery Austin](http://www.securedatarecovery.com/data-recovery-austin.html)
 
 'git mv' and 'git rm' are used to move and delete files respectively.
 
@@ -233,8 +235,8 @@ Assuming all has gone well, this will have added the entry to the code review qu
 It's possible that your modifications won't be accepted first time. In this case, you need to revise your changes, and resubmit them to gerrit. Please note that this should always be done by modifying your original changeset, _not_ by submitting a new change that makes the required fixes. Either git commit --amend, or git rebase should be used to combine your changes with the original changeset, and then you should push this to gerrit with
 
     git push ssh://gerrit.openafs.org/openafs.git <hash>:refs/changes/<number>
-
-(where &lt;hash&gt; is the sha1 hash of the revised change, and &lt;number&gt; is the change number you received when you originally submitted the patch)
+(where &lt;hash&gt; is the sha1 hash of the revised change that follows the word <tt>commit</tt> in the log message, and &lt;number&gt; is the change number you received when you originally submitted the patch)
 
 You can obtain the sha1 hash of a commit by using 'git show' (if it is on the tip of your current branch), or 'git log' (if it is in your history)
 
@@ -242,7 +244,7 @@ Other mechanisms of listing the change to push are available - see <http://gerri
 
 ## <a name="Updating your change"></a> Updating your change
 
-It's possible that your change may have been made against a tree which is too old for it to apply to the tip. In this case, gerrit will let you know that there is a collision, and request that you update the change to the tip.
+It's possible that your change may have been made against a tree which is too old for it to apply to the tip. In this case, gerrit will let you know that there is a collision, and request that you update the change to the tip. [Buy Homes](http://www.barratthomes.co.uk/Find-a-Home/)
 
 You can do this with
 
@@ -272,7 +274,7 @@ We'll now look at how changes that have made it into gerrit can be reviewed. All
 
 You'll be presented with a list of patches requiring review or, if someone has asked, patches you've been explicitly requested to review. There are two types of review - Code Review and Verification. Code Review means that you have read through the code, and are satisified that it works properly, follows the tree's style, and generally doesn't suck. Verification means that you have taken a copy of the patch and tested it. We hope to eventually automate the verification step, but for now both must be perfomed by hand.
 
-To perform a code review, go through each of the diffs in the current changeset for the code you have decided to review. You can double click on a line to leave a comment. Once you have completed commenting, click on the 'Publish Comments' button on the page containing the list of patch sets. You will then be asked to score the patch, with a range from -1 to +1. -1 means that you don't think the code should be applied, +1 means that it is good to apply. You can also leave further, general, comments for the patch submitter.
+To perform a code review, go through each of the diffs in the current changeset for the code you have decided to review. You can double click on a line to leave a comment. Once you have completed commenting, click on the 'Review' button that's about 3/4 of the way down the page containing the list of patch sets. You will then be asked to score the patch, with a range from -1 to +1. -1 means that you don't think the code should be applied, +1 means that it is good to apply. You can also leave further, general, comments for the patch submitter.
 
 Note that no matter how many +1 or -1 comments a patch receives, the gatekeepers can override these to either permit or forbid submission. Also, at least one gatekeeper must approve a patch before it can be submitted to the tree.
 
@@ -286,7 +288,7 @@ Git Magic <http://www-cs-students.stanford.edu/~blynn/gitmagic/>
 
 Git User's Manual <http://www.kernel.org/pub/software/scm/git/docs/user-manual.html>
 
-Git Community Book <http://book.git-scm.com/>
+Git Community Book <http://book.git-scm.com/> 
 
 Gerrit Documentation <http://gerrit.googlecode.com/svn/documentation/2.0/index.html> (only the first 'User Guide' section of this document is relevant)