Difference between revisions of "Git Migration"

From OpenEMR Project Wiki
Line 49: Line 49:
** They do not have physical commit access to the sourceforge repository.
** They do not have physical commit access to the sourceforge repository.
** Their code needs to be reviewed before committing to the sourceforge repository.
** Their code needs to be reviewed before committing to the sourceforge repository.
*** Best way to do this is to submit code via a public git branch. ([[Git_for_dummies#Submit_your_code_for_review|instructions on how to do this can be found here]]). If this is done correctly, then it only takes an "Integrator" several minutes to commit your code to the sourceforge repository if deemed acceptable.


===Integrators===
===Integrators===

Revision as of 18:46, 11 November 2010

Overview

On 10/30/2010, the official OpenEMR repository was moved from cvs to git on Sourceforge.

Migration Details

The massive sourceforge thread that discussed this migration can be found here: http://sourceforge.net/projects/openemr/forums/forum/202506/topic/1412511

Also some discussion on this thread: http://sourceforge.net/projects/openemr/forums/forum/202506/topic/3894279

Plan to put more details on the migration, git settings, and mirroring mechanism here.

Items still left to do

  • PROBLEM: When compared the cvs and git repositories, all tags/branches were identical, except for the v3_1_0 tag and the rel-310 branch.
  • SOLUTION: Did not include the rel-310 branch in the migration. Will rebuild it after the migration. While rebuilding rel-310 will also add a v3_1_0_FIXED tag with appropriate code. So will require following steps:
  1. Create a rel-310 branch off the rel-320 branch in the git repo.
  2. Create a diff patch between rel-320 and v3_1_0 in cvs; use the cvs diff which can be used to ignore differences in EOL and not include cvs versioning lines. Apply this patch and commit to rel-310 branch, and then tag this with v3_1_0_FIXED.
  3. Create a diff patch between rel-310 and v3_1_0 in cvs; use the cvs diff which can be used to ignore differences in EOL and not include cvs versioning lines. Apply this patch and commit to rel-310 branch.

Official git Mirrors

  • github
  • gitorious
  • repo.or.cz

Proposed Developer Structure

Overview

Considering a different developer model/structure in order to avoid breaking the git repository on sourceforge. This is important to avoid because of the downstream mirrors that the main sourceforge repository feeds. Propose the following structure:

  • Integrators
    • These are developers with physical commit access to the sourceforge repository.
    • They have demonstrated common sense and proficiency in git and OpenEMR development.
    • They are responsible for committing their own code.
    • They are willing to commit the code of the "Privileged" developers (when requested).
  • Privileged
    • These are developers that have demonstrated common sense and proficiency in OpenEMR development.
    • They do not have physical commit access to the sourceforge repository.
    • Their code will be directly committed to the sourceforge repository upon request by an "Integrator" (no questions asked and within 24 hours).
      • Best way to do this is to submit code via a public git branch. (instructions on how to do this can be found here). If this is done correctly, then it only takes an "Integrator" several minutes to commit your code to the sourceforge repository.
  • Near-Privileged
    • These are developers that have demonstrated common sense and proficiency in OpenEMR development, however we still need to see a little more work before they are considered a "Privileged" developer.
    • They do not have physical commit access to the sourceforge repository.
    • Their code needs to be reviewed before committing to the sourceforge repository.
      • Best way to do this is to submit code via a public git branch. (instructions on how to do this can be found here). If this is done correctly, then it only takes an "Integrator" several minutes to commit your code to the sourceforge repository if deemed acceptable.

Integrators

bradymiller
stephen-smith
sunsetsystems
tmccormi

Privileged

acmoore
andres_paglayan
cfapress
drbowen
larrylart
markleeds
rachoac
tekknogenius
visolve-selvi
whimmel
zhhealthcare

Near-Privileged

coleedo
mmfsystems