phpBB

Development Wiki

Difference between revisions of "Git"

From phpBB Development Wiki

m
(Moved to new dev docs.)
 
(51 intermediate revisions by 11 users not shown)
Line 1: Line 1:
This document provides details of the various repositories and branches available as part of the phpBB Git infrastructure, for details of how to use git please see [[Working with Git]].
+
This documentation has been moved.
=Branch Names=
+
Feature branches should be called *feature/feature-name*, bug or minor improvements do not need a name, their branches should be called *ticket/1234* with the correct ticket id. If you want to give something a name that is not a feature you may use *task/task-name*. When these branches go into the main phpBB repository they are renamed *<category>/<user>/<name-or-id>* to make clear from which developer's repository the branch was merged.
+
  
= Commit Messages =
+
[https://area51.phpbb.com/docs/dev/31x/development/git.html phpBB Development Documentation: Git].
You should always create a ticket before starting work. It is important that every commit references a ticket. It does not matter what state that ticket is in. No line should contain more than 80 characters. The first line should be followed by a blank line. This means you should not break the first sentence of your message! The purpose of this is to maintain useful --oneline logs which only display the first line of every message. A good commit message then looks like this:
+
 
+
[branch you are working on] A short explanation of the change.
+
+
A more detailed explanation of which things exactly were changed and for
+
what reasons. This can span multiple paragraphs for a bigger change. And
+
it should really make clear all the changes to anyone reading this commit
+
message without further context.
+
+
TICKET-ID
+
 
+
An example:
+
 
+
[feature/request-class] Adding a request class based on the one found in ascraeus-experiment.
+
+
The well known request_var function is now a wrapper that calls a method
+
on a phpbb_request object. The class provides additional functionality.
+
It can replace all super globals with special objects that throw errors
+
when being accessed. They still allow isset operations to keep backward
+
compatibility with isset($_POST['var']) checks. The phpbb_request class
+
implements the phpbb_request_interface which is available for easy mocking
+
of input in tests.
+
+
PHPBB3-1234
+
 
+
The structure of a commit message which is verified by the commit-msg hook is as follows:
+
[<branch>] <summary>
+
+
<description>
+
+
<ticket1>
+
<ticketn>
+
The required components are the summary, branch, and list of tickets; the description is optional.
+
Both the description and ticket list must be preceded by a _single_ empty line. The description element is unrestricted
+
length and may contain any number of empty lines to separate paragraphs; each ticket in the list
+
must be on its own line. If the branch is a [ticket/] branch, the ticket list must contain a matching
+
ticket, finally the ticket list may not contain any duplicates.
+
 
+
= phpBB4 =
+
== Repository ==
+
<pre>git://github.com/phpbb/phpbb.git</pre>
+
 
+
== Branches ==
+
 
+
* master - Development [http://github.com/phpbb/phpbb/tree/master View on GitHub]
+
 
+
Since phpBB 4 is still far from a stable version, there is only one development branch, in which all development takes place.
+
 
+
== How to contribute? ==
+
Please post your changes for review in a new topic on the [http://area51.phpbb.com/phpBB/viewforum.php?f=78 4.0/Rhea RFCs & Patches forum at area51]. Please either provide a link to your commit or branch on github or attach a patch created with git format-patch. For larger changes consider [[phpBB4/RFC|writing an RFC]] first.
+
 
+
= phpBB3 =
+
== Repository ==
+
<pre>git://github.com/phpbb/phpbb3.git</pre>
+
 
+
== Branches ==
+
 
+
* master - Release [http://github.com/phpbb/phpbb3/tree/master View on GitHub]
+
* develop - Next feature release development [http://github.com/phpbb/phpbb3/tree/develop View on GitHub]
+
* develop-olympus - Olympus release maintenance [http://github.com/phpbb/phpbb3/tree/develop-olympus View on GitHub]
+
 
+
This means all bugfix development should take place on develop-olympus and will be merged into develop. All feature development should take place in develop. Read more about the workflow in the next section
+
 
+
== How to contribute? ==
+
When fixing a bug, please post in the bug tracker. When adding a feature to 3.1 post your patch for review in a new topic on the [http://area51.phpbb.com/phpBB/viewforum.php?f=84 3.1/Ascraeus RFCs & Patches forum at area51]. Please either provide a link to your commit or branch on github or attach a patch created with git format-patch. For larger features or changes consider posting an RFC on area51 first.
+
 
+
== Workflow ==
+
To better explain the workflow we will be following we have created an image that visualises the different branches and how they relate to each other. This workflow is based on the [http://nvie.com/git-model Git branching model by Vincent Driessen].
+
 
+
[[File:Phpbb-git-workflow-small.png]]
+
 
+
View in [[Media:Phpbb-git-workflow.png|large]] or as [[Media:Phpbb-git-workflow.svg|svg]].
+
 
+
= phpBB2 =
+
 
+
== Repository ==
+
<pre>git://github.com/phpbb/phpbb3.git</pre>
+
 
+
== Branches ==
+
* master-phpbb2 - Release [http://github.com/phpbb/phpbb3/tree/master-phpbb2 View on GitHub]
+
 
+
= See Also =
+
* [[Working with Git]]
+
 
+
[[Category:Development]]
+

Latest revision as of 18:19, 5 December 2016

This documentation has been moved.

phpBB Development Documentation: Git.