lumiera_documentation/doc/devel/rfc/MasterRepositorySetup.txt

82 lines
3.3 KiB
Text
Raw Normal View History

Design Process : Master Repository
==================================
[options="autowidth"]
|====================================
|*State* | _Final_
|*Date* | _2008-04-08_
|*Proposed by* | ct
|====================================
Shared Master Repository setup
------------------------------
This describes how the shared MASTER is set up and syncronized.
Description
~~~~~~~~~~~
We have now a shared master repository in
https://git.lumiera.org/gitweb?p=LUMIERA;a=summary[/git/LUMIERA].
- The public/anonymous git url is [yellow-background]#`git://git.lumiera.org/LUMIERA`#
- for people with ssh access it is pushable at [purple]#`UID@git.lumiera.org:/git/LUMIERA`#.
The repository is maintained by _cehteh_. It updates daily by a script.
There are the following branches updated from their respective maintainer repositories:
[options="header", cols="^m,3<,2e"]
|====================================
|BRANCHNAME | DESCRIPTION | Updated from...
| master | Stable branch; generic entry point. | cehteh, ichthyo
| library | Support library development | cehteh, ichthyo
| proc | Render core development | ichthyo
| backend | Data backend development, | cehteh
| gui | GUI development | joel
|====================================
Automatic syncronization is only done for `fast-forward' updates, conflicting
2010-07-24 16:48:32 +02:00
changes are rejected. It is still possible to manually push to this repository
to override automatic syncronization.
Comments
--------
Instead of this polling @daily update, maintainers might use git hooks on their
2010-07-24 16:48:32 +02:00
repos to push relevant things, be careful not to push cruft or tags (which tags
shall be present here is not yet resolved -> no tags for now)
ct:: '2008-04-08T21:48:51Z'
''''
[[historical_remark]]
[underline]#Historical remark#: This RfC describes the setup we used up to ~2012. +
After that point, I was working alone basically (not counting occasional small contributions),
and consequently the current state could be found in the ``ichthyo'' Git repository
most of the time -- yet the shared master repository is still updated occasionally,
as is a mirror at https://github.com/Ichthyostega/Lumiera/[Github]
This summer I decided to switch the project over to the
link:{ldoc}/technical/code/GitBranching.html[Git-flow] branching model,
knowing from my own professional background that this scheme is a good fit
for this kind of project.
This has the consequence however that the usage pattern described in this RfC
*becomes obsolete*, as actual development mostly takes place on development or
feature branches now, consolidating all progress into the branch `integration`.
The branch `master` carries only tested and released code going forward.
That being said -- the shared master at [yellow-background]#`git://git.lumiera.org/LUMIERA`#
still contains the _official_ state of the Lumiera codebase, while
actual development is published first in a repository per developer
(so effectively in
https://git.lumiera.org/gitweb?p=lumiera/ichthyo;a=summary[the Ichthyo repository]
for the time being);
development is consolidated intermittently into the
https://git.lumiera.org/gitweb?p=LUMIERA;a=summary[LUMIERA Git].
''''
Back to link:/x/DesignProcess.html[Lumiera Design Process overview]