Git Migration
From OpenEMR Project Wiki
Revision as of 19:27, 11 November 2010 by Bradymiller (talk | contribs) (→Proposed Developer Structure)
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:
- Create a rel-310 branch off the rel-320 branch in the git repo.
- 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.
- 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
- repository link: git://github.com/openemr/openemr.git
- web page link: http://github.com/openemr/openemr
- mirrors from Sourceforge repository every 30 minutes via an external script
- gitorious
- repository link: git://gitorious.org/openemr/openemr.git
- web page link: http://gitorious.org/openemr/openemr
- mirrors from Sourceforge repository every 30 minutes via an external script
- repo.or.cz
- repository link: git://repo.or.cz/openemr.git
- web page link: http://repo.or.cz/w/openemr.git
- Supposed to mirror from the Sourceforge repository every 60 minutes automatically by the repo.or.cz site (sometimes it takes up to 24 hours).
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:
- Integration Developers
- These are the only developers with 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).
- A standardized method to commit to the sourceforge repository has been documented HERE . Rather than pull in the entire remote branch of somebody else's code, recommend pulling in each commit via the 'cherry-pick' command.
- Privileged Developers
- These are developers that have demonstrated common sense and proficiency in OpenEMR development.
- They do not have 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 Developers
- 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 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.
- Standard Developers
- Standard developers whom have or are in process of submitting code.
- They do not have 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.
Integration Developers
- bradymiller
- stephen-smith
- sunsetsystems
- tmccormi
Privileged Developers
- acmoore
- andres_paglayan
- cfapress
- drbowen
- larrylart
- markleeds
- mmfsystems
- rachoac
- tekknogenius
- visolve-selvi
- whimmel
- zhhealthcare
Near-Privileged Developers
- coleedo