Merge pull request #2156 from enkore/f/devmodel

new branching model
This commit is contained in:
enkore 2017-02-14 13:02:33 +01:00 committed by GitHub
commit 22464295cf
2 changed files with 55 additions and 12 deletions

View File

@ -19,18 +19,7 @@ Some guidance for contributors:
- discuss about changes on github issue tracker, IRC or mailing list
- choose the branch you base your changesets on wisely:
- choose x.y-maint for stuff that should go into next x.y.z release
(it usually gets merged into master branch later also), like:
- bug fixes (code or docs)
- missing *important* (and preferably small) features
- docs rearrangements (so stuff stays in-sync to avoid merge
troubles in future)
- choose master if that does not apply, like for:
- developing new features
- make your PRs on the ``master`` branch (see `Branching Model`_ for details)
- do clean changesets:
@ -56,6 +45,59 @@ Some guidance for contributors:
- wait for review by other developers
Branching model
---------------
Borg development happens on the ``master`` branch and uses GitHub pull
requests (if you don't have GitHub or don't want to use it you can
send smaller patches via the borgbackup :ref:`mailing_list` to the maintainers).
Stable releases are maintained on maintenance branches named x.y-maint, eg.
the maintenance branch of the 1.0.x series is 1.0-maint.
Most PRs should be made against the ``master`` branch. Only if an
issue affects **only** a particular maintenance branch a PR should be
made against it directly.
While discussing / reviewing a PR it will be decided whether the
change should be applied to maintenance branch(es). Each maintenance
branch has a corresponding *backport/x.y-maint* label, which will then
be applied.
Changes that are typically considered for backporting:
- Data loss, corruption and inaccessibility fixes
- Security fixes
- Forward-compatibility improvements
- Documentation corrections
.. rubric:: Maintainer part
From time to time a maintainer will backport the changes for a
maintenance branch, typically before a release or if enough changes
were collected:
1. Notify others that you're doing this to avoid duplicate work.
2. Branch a backporting branch off the maintenance branch.
3. Cherry pick and backport the changes from each labelled PR, remove
the label for each PR you've backported.
4. Make a PR of the backporting branch against the maintenance branch
for backport review. Mention the backported PRs in this PR, eg:
Includes changes from #2055 #2057 #2381
This way GitHub will automatically show in these PRs where they
were backported.
.. rubric:: Historic model
Previously (until release 1.0.10) Borg used a `"merge upwards"
<https://git-scm.com/docs/gitworkflows#_merging_upwards>`_ model where
most minor changes and fixes where committed to a maintenance branch
(eg. 1.0-maint), and the maintenance branch(es) were regularly merged
back into the main development branch. This became more and more
troublesome due to merges growing more conflict-heavy and error-prone.
Code and issues
---------------

View File

@ -28,6 +28,7 @@ nickname you get by typing "/nick mydesirednickname"):
http://webchat.freenode.net/?randomnick=1&channels=%23borgbackup&uio=MTY9dHJ1ZSY5PXRydWUa8
.. _mailing_list:
Mailing list
------------