Difference between revisions of "Repository work flow structure"

From OpenEMR Project Wiki
Line 75: Line 75:
:anilnakkani ([http://github.com/anilnakkani/openemr repository]) (Anil at [[OpenEMR_Professional_Support#EnSoftek.2C_Inc|Ensoftek]])
:anilnakkani ([http://github.com/anilnakkani/openemr repository]) (Anil at [[OpenEMR_Professional_Support#EnSoftek.2C_Inc|Ensoftek]])
:[http://sourceforge.net/users/apmuthu apmuthu] ([http://github.com/apmuthu/openemr repository])
:[http://sourceforge.net/users/apmuthu apmuthu] ([http://github.com/apmuthu/openemr repository])
:[http://sourceforge.net/users/arnabnaha arnabnaha] ([http://github.com/arnabnaha/openemr repository])
:[http://sourceforge.net/users/arnabnaha Arnab Naha] ([http://github.com/arnabnaha/openemr repository])
:[http://sourceforge.net/users/capminds CapMinds] ([http://github.com/capmindstech/openemr repository1])([http://github.com/NainaSupp/openemr repository2]) (Naina and Dinesh at [[OpenEMR_Professional_Support#CapMinds_Technologies_Corp.|CapMinds Technologies]])
:[http://sourceforge.net/users/capminds CapMinds] ([http://github.com/capmindstech/openemr repository1])([http://github.com/NainaSupp/openemr repository2]) (Naina and Dinesh at [[OpenEMR_Professional_Support#CapMinds_Technologies_Corp.|CapMinds Technologies]])
:[http://sourceforge.net/users/cbezuidenhout cbezuidenhout] (Craig at [[OpenEMR_Professional_Support#TajEmo_Enterprises|TajEmo Enterprises]]) ([http://github.com/tajemo/openemr repository])
:[http://sourceforge.net/users/cbezuidenhout cbezuidenhout] (Craig at [[OpenEMR_Professional_Support#TajEmo_Enterprises|TajEmo Enterprises]]) ([http://github.com/tajemo/openemr repository])

Revision as of 08:45, 23 February 2016

Workflow.png

Overview

Our main official repository is kept on sourceforge via git. We migrated from cvs to git on 10/30/2010, which is described on the git migration wiki page. Our sourceforge repository also has seven official mirrors, which are described below. The proper way for individual developers to set up their personal git repository is described on the git for OpenEMR tutorial wiki page. To avoid breaking the main sourceforge git repository, we are using the following git repository structure, work flow and development structure:

Official git Main Repository

Sourceforge

Official git Repository Mirrors

github

bitbucket

  • repository link: https://bitbucket.org/openemr/openemr.git
  • web page link: http://bitbucket.org/openemr/openemr/
  • mirrors from Sourceforge repository every 30 minutes via an external script

assembla

codeplex

  • repository link: https://git01.codeplex.com/openemr
  • web page link: http://openemr.codeplex.com/
  • mirrors from Sourceforge repository every 30 minutes via an external script

repo.or.cz

Experimental Repository Mirrors

launchpad

This is actually a Bazaar repository, which the Launchpad site automatically converts from git. Due to technical limitations (they plan to fix this), it is only able to mirror the master branch.

Developer roles and work flow

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).
  • Standardized methods to commit to the sourceforge repository have been documented in the 'Advanced Usage' section of the git for OpenEMR tutorial wiki page . Rather than pull in the entire remote branch of somebody else's code, recommend pulling in each commit via the 'cherry-pick' command (this is specifically documented on the git for OpenEMR tutorial wiki page).

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 to an "Integration Developer" in the Developer forum. (will be committed within 24 hours). To clarify, this is for code that is ready to be committed; ie. do not request commits of code that might need further review.

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 on this wiki page). If this is done correctly, then it only takes an "Integration Developers" several minutes to commit your code to the sourceforge repository if deemed acceptable by the community review.

Developers

(Only sourceforge account name, company association, and link to their public repository are shown.)
(Ideally, each developer should have their own sourceforge account along with a public repository.)
(Names are alphabetically ordered)

Integration Developers

Brady Miller (repository)
Kevin Yeh (Kevin at IntegralEMR) (repository)
Rod Roark (Rod at Sunset Systems) (repository)
Tony McCormick (Tony at Medical Information Integration) (repository)

Privileged Developers

acmoore (repository)
andres_paglayan
anilnakkani (repository) (Anil at Ensoftek)
apmuthu (repository)
Arnab Naha (repository)
CapMinds (repository1)(repository2) (Naina and Dinesh at CapMinds Technologies)
cbezuidenhout (Craig at TajEmo Enterprises) (repository)
cfapress
coleedo (repository)
drbowen (repository)
Jan Jajalla (repository)
Juggernaut Systems Express (repository) (Sherwin at Juggernaut Systems Express)
julialongtin (Julia at ZoneOne) (repository)
jwallace00 (Jeremy at Medical Information Integration) (repository)
kchapple (Ken at Medical Information Integration) (repository)
kevmccor (repository)
larrylart
lcmaas3 (repository) (Luis at EMR Direct)
markleeds
mcaloon (repository)
mdsupport (repository)
medmasterpro (repository)
michaelf5 (Michael at Garden State Health Systems) (repository)
mmfsystems (repository)
Practice Provider (Umer and Dev-PracticeProvider at Practice Provider) (repository)
rachoac (Aron at Medical Information Integration) (repository)
robertdown (repository)
Roberto Vasquez (repository)
rreddy70 (Ram at Ensoftek) (repository)
Sam Likins (repository)
semteacher (repository)
stephen-smith (repository)
Stephen Waite (repository)
tekknogenius
Terry Hill (repository)
visolveemr (Ranjith at Visolve) (repository)
visolve-selvi (Selvi at Visolve) (repository1) (repository2)
wakie87 (repository)
whimmel (repository)
zhhealthcare (Paul, Jacob, Sam, Ajil, Vinish, Eldho and Teny at Z&H Healthcare Solutions) (repository)

Standard Developers

Aaric Pittman (repository)
aaversa (Aric at Health Care Technologies)
ajperezcrespo (repository) (Alfonso at MD-Technologies)
Art Eaton (repository)
blankev (repository)
bo2999
clucena (repository)
corburn (repository)
cornfeed (repository)
Daniel Pflieger (Daniel at Medical Information Integration) (repository)
derekbrownjr (repository)
dlee5400
dwr1975 (repository)
epsdky (repository)
FikriFadzil (repository)
fndtn357 (repository)
garcianc (repository)
geovasilakos
hielkema (repository)
hrivera787
iankarlwallace (repository)
ideaman911
James Newlin (repository)
jason0 (Jason at Medical Information Integration) (repository)
Jerry Padgett (repository)
jjwjj
Jyotsna (repository)
kjs3250
Kyle Nave (repository)
lucian0308 (repository)
meditcare
Paul Williams (repository)
penguin8r
pithonsoft (repository)
produnis (repository)
quartarian (repository)
Ray Magauran (repository)
richsiy (repository)
RitwikG (repository)
rmoshiri (repository)
rnagul
Rosion (repository)
rpl121 (repository)
sahilsinha (repository)
skaryshev (repository)
sprdad (repository)
teddziuba (repository)
Tudor Popa (repository)
tvgm2 (repository)
vikrasharma (repository)
weesnerkim (repository)
Yisrael (repository)
ytiddo
zaalt (repository)
(All other developers not mentioned also fall into this category)