Developer Infos

From Netatalk Wiki
Jump to: navigation, search
(Main Netatalk Branches)
 
Line 23: Line 23:
 
Note that under Debian or Ubuntu, git is distributed in the git-core package.  The git package contains the "GNU Interactive Tools".  
 
Note that under Debian or Ubuntu, git is distributed in the git-core package.  The git package contains the "GNU Interactive Tools".  
  
== Main Netatalk Branches ==
+
== Branching model ==
  
 
* the "master" branch is where development on new features is taking place
 
* the "master" branch is where development on new features is taking place
 
* branches named "branch-netatalk-x.y" for stable releases
 
* branches named "branch-netatalk-x.y" for stable releases
 
* currently stable release branch ''branch-netatalk-3-1''
 
* currently stable release branch ''branch-netatalk-3-1''
 +
* commits go to master (after a review, more on that below) 
 +
* commits can only go into a release branch if a bugreport exists
 +
* the bugreport must be referenced in the commit message
 +
* no branch merges
 +
 +
== Review process ==
 +
 +
We now require formal review of all patches.
 +
 +
The author of patch should add a signed-off tag and the reviewer adds a reviewed-by tag. Very formal, but it encourages better coding and documentation.
 +
 +
This means every commit in master should have been reviewed by two team members (if the author is a team member, only one review by another team member needed).
 +
 +
This is the same process used in [https://wiki.samba.org/index.php/CodeReview Samba]
 +
 +
== Commit messages ==
 +
 +
Commit messages should have a short, descriptive first summary line that begins with the affected component, eg
 +
 +
  afpd: new options "force user" and "force group"
 +
 +
This is helpful when browing a git log in oneline mode.
 +
 +
Then the commit message should explain what the change is about, the more, the better.
 +
 +
At the end the author adds his signed-off tag.
  
 
== Basic Netatalk Git ==
 
== Basic Netatalk Git ==

Latest revision as of 13:42, 18 June 2016

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox