Community
Participate
Working Groups
while working with the RMF source code I found out that the current separation of the code into 5 git repositories produces quite some overhead and might lead to inconsistencies within the overall RMF code. Thus I propose to merge the 5 repositories into a single repository. === some details === (1) Current situation: The RMF code is separated into 5 git repositories: /gitroot/rmf/org.eclipse.modeling.rmf.core.git /gitroot/rmf/org.eclipse.modeling.rmf.core.reqif10.git /gitroot/rmf/org.eclipse.modeling.rmf.core.rif11.git /gitroot/rmf/org.eclipse.modeling.rmf.core.rif12.git /gitroot/rmf/org.eclipse.modeling.rmf.pror.reqif10.git (2) Some thoughts about the current repository structure: * initial setup of the development environment takes some time * many development activities do not only affect a single repository. I often need to push to more than one repository. This takes time and overall consistency of the code needs to be ensured manually. e.g. in order to create a tag of the RMF project, a tag for each git repository need to be created. * The repositories are quite small. Thus, there is no need (yet) to separate them due to performance or memory consumption reasons * Setting up automatic builds is more complex since the checkout procedure needs to be repeated for each repository (3) Proposal: I think we should merge the current repositories into a single new repository and remove the old repositories. /gitroot/rmf/org.eclipse.rmf.git (4) Further reading and thoughts about repository granularity can be found at [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=345471 (In short: it is a good practice to have a single repository per project) [2] http://git.eclipse.org/c/ (an overview over existing git repositories)
This bug was discussed on the RMF-Dev Mailing List: http://dev.eclipse.org/mhonarc/lists/rmf-dev/msg00043.html
The merged git repository is now available at: git://git.eclipse.org/gitroot/rmf/org.eclipse.rmf.git ssh://git.eclipse.org/gitroot/rmf/org.eclipse.rmf.git http://git.eclipse.org/gitroot/rmf/org.eclipse.rmf.git These are the commands I used for merging the old git repositories into the new one: git clone ssh://<me>@git.eclipse.org/gitroot/rmf/org.eclipse.rmf.git git clone http://git.eclipse.org/gitroot/rmf/org.eclipse.modeling.rmf.core.git git clone http://git.eclipse.org/gitroot/rmf/org.eclipse.modeling.rmf.core.rif11.git git clone http://git.eclipse.org/gitroot/rmf/org.eclipse.modeling.rmf.core.rif12.git git clone http://git.eclipse.org/gitroot/rmf/org.eclipse.modeling.rmf.core.reqif10.git git clone http://git.eclipse.org/gitroot/rmf/org.eclipse.modeling.rmf.pror.reqif10.git mkdir combined && cd combined git init touch readme.txt git add readme.txt git commit readme.txt -m "description of repository content added" git branch develop git checkout develop git fetch ../org.eclipse.modeling.rmf.core remotes/origin/develop:core_develop git merge core_develop git fetch ../org.eclipse.modeling.rmf.core.reqif10 remotes/origin/develop:core_reqif10_develop git merge core_reqif10_develop git fetch ../org.eclipse.modeling.rmf.pror.reqif10 remotes/origin/develop:pror_reqif10_develop git merge pror_reqif10_develop git fetch ../org.eclipse.modeling.rmf.core.rif11 remotes/origin/develop:core_rif11_develop git merge core_rif11_develop git fetch ../org.eclipse.modeling.rmf.core.rif12 remotes/origin/develop:core_rif12_develop git merge core_rif12_develop git checkout master git fetch ../org.eclipse.modeling.rmf.core master:core_master git merge core_master git fetch ../org.eclipse.modeling.rmf.core.reqif10 master:core_reqif10_master git merge core_reqif10_master git fetch ../org.eclipse.modeling.rmf.pror.reqif10 master:pror_reqif10_master git merge pror_reqif10_master git fetch ../org.eclipse.modeling.rmf.core.rif11 master:core_rif11_master git merge core_rif11_master git fetch ../org.eclipse.modeling.rmf.core.rif12 master:core_rif12_master git merge core_rif12_master cd ../org.eclipse.rmf git checkout develop git push ssh://<me>@git.eclipse.org/gitroot/rmf/org.eclipse.rmf.git develop git checkout master git push ssh://<me>@git.eclipse.org/gitroot/rmf/org.eclipse.rmf.git master
done
Done.