User Tools

Site Tools


git-for-lieutenants

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
git-for-lieutenants [2012/11/02 11:34] – created bpgit-for-lieutenants [2017/11/01 09:23] (current) bp
Line 1: Line 1:
-This page contains an instructions and guidelines for lieutenants. Lieutenants are experianced developpers and maintainers, usually in charge of a specific subsystem of the project and they merge in changes from individual developpers and push to the reference (blessed) repository that everyone then clones from again. +This page contains an instructions and guidelines for lieutenants. Lieutenants are experienced developers and maintainers, usually in charge of a specific subsystem of the project and they merge in changes from individual developers and push to the reference (blessed) repository that everyone then clones from again. 
  
-====== Push access to reference repository ====== +:!: Remember: As Lieutenant you are responsible for the projectso you have to make sure, that the contributed work meets all requirements: 
-Lieutenants should use SSH protocol to access the reference repository. +  * [[coding-conventions|oofem coding conventions]] have been followed 
-To grant ssh accessthaay have to send their public ssh key(s) (see http://git-scm.com/book/en/Git-on-the-Server-Generating-Your-SSH-Public-Key for reference).+  * [[coding-conventions#Checks before committing|Checks before accepting pull request]] 
 +  * sufficient documentation and internal tests provided
  
-Lieutenants clone oofem repository using ssh protocol: +====== Reviewing changes in pull requests ====== 
-    git clone git@www.oofem.org:/data/git/oofem.git +Reviews allow leutnants and other collaborators to comment on the changes proposed in pull requestsapprove the changes, or request further changes before the pull request is mergedOOFEM settings require that all pull requests to the master branch are approved before being merged.
- +
-====== Reference repository ====== +
-On the reference repository, two main branches exist: +
-  * ''master'' -  this branch is stable and should be in a state that allow a release at any time. **Please do not merge any changes into this branch.** +
-  * ''develop'' - used for development. +
- +
-Individual developpers typically clone the main repository, create a topic branch, derived from ''develop'' branch of the main repository and make their development there. Then they create a patch or patch series they are planning to contribute. **Basically, the same procedure is followed by Lieutenants for their own developmentexcept they do not have to send patches to themselfs.** +
- +
-The sequence looks basically like this: +
-  +
-  # clone reference repo +
-  $ git clone http://www.oofem.org/git/oofem.git oofem.git +
-  $ cd oofem.git +
-  # track remote develop branch on reference repo; it will became active one +
-  $ git checkout -b develop origin/develop +
-  # create a new brach for a new development +
-  $ git checkout -b featureA +
-  $ (work) +
-  $ git commit +
-  $ (work) +
-  $ git commit +
- +
-Now you have your commits that you want to send to the maintainers.  +
-**It is strongly recommended to use rebase -i to squash your work down to a single commit, or rearrange the work in the commits to make the patch easier for the maintainer to review — see Git book for more information about interactive rebasing.** +
- +
-The user use git format-patch to generate the mbox-formatted files. +
-====== Applying Patches from E-mail ====== +
-If you receive a patch over e-mail that you need to integrate into your project, you need to apply the patch in your topic branch to evaluate it+
  
 +   * [[https://help.github.com/articles/reviewing-changes-in-pull-requests/| Reviewing changes in pull requests]]
 +   * [[https://help.github.com/articles/incorporating-changes-from-a-pull-request/|Incorporating changes from a pull request]]
  
  
  
git-for-lieutenants.txt · Last modified: 2017/11/01 09:23 by bp