Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 333059

Summary: Migrating to GIT
Product: [Modeling] EMFCompare Reporter: Cedric Brun <cedric.brun>
Component: CoreAssignee: EMF Compare <emf.compare-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: laurent.goubet, patrick.koenemann
Version: 1.2   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 333142    
Bug Blocks:    

Description Cedric Brun CLA 2010-12-22 04:29:24 EST
The Eclipse Foundation plans to move everybody to git in the next few years. Many projects moved already and GIT is clearly superior to CVS/SVN in many ways, that said the Eclipse support : eGit, is not yet perfect even if the team is working hard to make this happen.

I've been experiencing myself with eGit in the last few months, it's now possible to do pretty much any 'every day' operation, for the others, one has to fall back to the command line. Hopefully both (command line and Eclipse plugin) are working perfectly fine together.

Moving to git would have the following benefits for the contributors:
- easing the maintainance of their changes during the IP whole contribution process

for the commiters :

- easing the creation of "feature branches" so that we can work the time we need to finish a new API/Feature and integrate it when it's ready

This bug is here to discuss this move, in the move process we can re-organize the CVS layout. The current one is not good IMO, it is  :

doc/
examples/
nl1/
plugins/
releng/
sandbox/
tests/


It's mixing things you *shoud* get in your workspace with experimental things which you don't have to, depending on what you are doing.  Every time you create a new workspace you have to think hard, and most of the time you will not even be able to figure out before checking out everything (and then check what is compiling or is not...)

In my experience I found that it's easier to split with the following organization :


--packaging/
--plugins/
--staging/

*packaging* contains all the things related to build and packaging : releng project, features and nl1 among others.

*plugins* contains all the artefacts we are providing to end users : core plugins, examples, tests and documentation plugins

*staging* contains all the experiments, though maybe we don't really need it anymore as it might be kept in dedicated branches with GIT.. 

We would probably ends up then with 

--packaging/
I have to get that in my project (or any other commiter involved with the build/packaging
--plugins/
Commiters have to get that in their project.


Anyway the good news is with GIT this layout might change in the future if we think it needs to.

*Now* would be a good time to start the migration (more info here : http://wiki.eclipse.org/Git/Migrating_to_Git) , I guess it needs a few weeks to get it done by the webmasters, then updating the build accordingly we could be completely up and running by the end of January.

We basically have two options : migrating CVS to GIT or putting the CVS in read only, I would pick the migration to keep the history at hand.

Oh, and we could re-layout the single CVS repository in several git repositories but I don't see any value in that, having a single entry point to get all the EMF compare related things is a must have IMO.

Any though or idea ?
Comment 1 Laurent Goubet CLA 2010-12-22 04:42:08 EST
I'm ok with moving EMF Compare to git, so +1 from my side
Comment 2 Patrick Konemann CLA 2010-12-22 04:57:28 EST
Your suggestions sound reasonable, +1 also from me.
Comment 3 Cedric Brun CLA 2010-12-23 06:01:30 EST
Just opened a bug to the webmasters to launch the process.
Comment 4 Cedric Brun CLA 2011-01-05 06:00:48 EST
The git repository is live, please use it now, 

git clone ssh://yourdeveloperid@git.eclipse.org/gitroot/emfcompare/org.eclipse.emf.compare.git

I'll re-organize everything in the plugins and packaging directories now.
Comment 5 Cedric Brun CLA 2011-01-05 10:44:57 EST
It's pushed and reorganized, I'm now trying to get bucky build everything.
Comment 6 Cedric Brun CLA 2011-01-05 12:08:54 EST
bucky build is working again :)
Comment 7 Cedric Brun CLA 2011-01-06 08:09:36 EST
Now on to the workflow changes, the following website describes clearly what I'm expecting for the future.

http://nvie.com/posts/a-successful-git-branching-model/

The paper also describe a naming convention for the branches which looks fine to me, i'll try to set the git repository accordingly.
Comment 8 Cedric Brun CLA 2011-06-16 11:18:43 EDT
Migration to GIT has been successful ;)