Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 351232 - Migrate GEF CVS repository to Git
Summary: Migrate GEF CVS repository to Git
Status: RESOLVED FIXED
Alias: None
Product: GEF
Classification: Tools
Component: RelEng (show other bugs)
Version: 3.7   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 3.8.0 (Juno)   Edit
Assignee: Alexander Nyßen CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 363394 367582 371278
Blocks:
  Show dependency tree
 
Reported: 2011-07-05 15:45 EDT by Alexander Nyßen CLA
Modified: 2012-03-11 12:20 EDT (History)
2 users (show)

See Also:


Attachments
Patch converting org.eclipse.gef.releng gef.map file to Git format (7.40 KB, patch)
2011-08-18 14:26 EDT, Alexander Nyßen CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Nyßen CLA 2011-07-05 15:45:22 EDT
According to the change of the Eclipse platform, the GEF CVS repository should be migrated to Git.
Comment 1 Alexander Nyßen CLA 2011-08-18 14:26:16 EDT
Created attachment 201737 [details]
Patch converting org.eclipse.gef.releng gef.map file to Git format

Anthony, attached is a patch that converts the currently checked in gef.map file of our releng project into a GIT fetch format  (pointing to the CVS git mirror already hosted at eclipse.org). While the map files contain fixed tags (which are probably exchanged by the common modeling build infrastructure?) we could nevertheless give it a try to see if we could migrate our repository without also having to replace our build process in the short term. 

As I do not have the access rights to trigger a build myself, that part would unfortunately be up to you...
Comment 2 Anthony Hunter CLA 2011-09-01 15:21:38 EDT
I would rather not try this, as this would immediately imply keeping the existing build tools on GIT when we have wanted to move to "something else" for several years.

Ian, you going to do the new build or is that a no?
Comment 3 CLA 2011-10-12 02:32:27 EDT
Hi,

Has GEF moved to Git yet? I can see Zest in Git, but not GEF or Draw2D.
Comment 4 Alexander Nyßen CLA 2011-11-04 08:22:50 EDT
(In reply to comment #2)
> I would rather not try this, as this would immediately imply keeping the
> existing build tools on GIT when we have wanted to move to "something else" for
> several years.
> 
> Ian, you going to do the new build or is that a no?

Anthony, from the personal communication I had with Ian here at EclipseCon, I infer we should not expect something to happen (Ian, please contradict me, if this is not the case). I have talked to Kim Moir here at EclipseCon as well w.r.t. to the migration issue, and she confirmed me in the fact that migrating the pde based platform should basically be done by changing the map file format (I am not sure what would have to be done w.r.t. build tagging, because I am not aware how this is currently done, but for the platform it seemed to have worked this way). As such I would recommend to try out what I have proposed so far and migrate the repo based on the old pde based build first. I have enough pde build experience to support you with that (but I do not have the access rights to try it out myself). As I have already performed the task of setting up a tycho based build for the new GEF4 geometry stuff I have created in the last months (see bug #355997 for details; actually I also got to work the api documentation generation there) I could offer to reinvestigate the "new build story" based on tycho after the migration. I do not think it makes sense to do both at a time.
Comment 5 Alexander Nyßen CLA 2011-11-09 17:11:04 EST
I have created bug #363394 to keep track of the need for a new Hudson/Tycho based build infrastructure. I will take responsibility of setting this up.

I have requested access rights to first investigate the problems of the current build infrastructure w.r.t. the javadoc generation problems. In parallel, I will try to enrich the GEF4 Hudson/Tycho-based nightly build so that it makes use of all the features we will need for GEF proper as well (signing, source bundles, etc.), so that can be easily transferred. 

Based on the experiences I will gain with these two approaches, we can decide on what strategy will be the best suited for us (i.e. migrating the build system first, or the cvs repository).
Comment 6 Alexander Nyßen CLA 2011-11-28 16:10:23 EST
Removed that #347636 is blocked by this, as a component based approach, which is currently applied to build up GEF4, does not require Git.
Comment 7 Alexander Nyßen CLA 2011-11-28 16:11:15 EST
Added dependency to #363394, because this deals with the new Tycho-based build infrastructure, I am currently building up.
Comment 8 Alexander Nyßen CLA 2011-12-27 11:29:07 EST
Besides the Tycho build infrastructure, as a preparation to migrating the cvs repository it should get cleaned up. This includes:

1) Moving the GEF4 sub-module to its own git module (as done for Zest 2.0 already)
2) Moving all outdated plug-ins (especially the old releng plug-ins) into the archive folder
Comment 9 Alexander Nyßen CLA 2012-01-10 14:49:05 EST
(In reply to comment #8)
> Besides the Tycho build infrastructure, as a preparation to migrating the cvs
> repository it should get cleaned up. This includes:
> 
> 1) Moving the GEF4 sub-module to its own git module (as done for Zest 2.0
> already)
> 2) Moving all outdated plug-ins (especially the old releng plug-ins) into the
> archive folder

1) is completed, as stated in bug #347636. As such, removing dependency on it.
Comment 10 Alexander Nyßen CLA 2012-01-23 16:36:46 EST
In order to enable local building with Maven/Tycho, the repository structure should be flattened before moving to Git.
Comment 11 Alexander Nyßen CLA 2012-01-24 14:08:56 EST
Having migrated to Git, the build job has to be provided with some tagging mechanism, so builds can be reproduced.
Comment 12 Alexander Nyßen CLA 2012-01-24 18:43:06 EST
OK, as the new build infrastructure is now completely in place, I think we are also good to go on with this one. 

From the experience I had with moving the GEF4 component, it would probably be easier to flatten the cvs repository structure before moving to Git, but we may also do that after having migrated, if this is intended.

Anthony, what do you think?
Comment 13 Anthony Hunter CLA 2012-01-25 11:32:55 EST
(In reply to comment #12)
> From the experience I had with moving the GEF4 component, it would probably be
> easier to flatten the cvs repository structure before moving to Git, but we may
> also do that after having migrated, if this is intended.
> 
> Anthony, what do you think?

We should do whatever makes things better for Git.
Comment 14 Alexander Nyßen CLA 2012-01-25 17:37:26 EST
(In reply to comment #13)
> (In reply to comment #12)
> > From the experience I had with moving the GEF4 component, it would probably be
> > easier to flatten the cvs repository structure before moving to Git, but we may
> > also do that after having migrated, if this is intended.
> > 
> > Anthony, what do you think?
> 
> We should do whatever makes things better for Git.

Well, I think we should then ask the Webmaster what he recommends. The cvs-git migration guide (http://wiki.eclipse.org/Git/Migrating_to_Git) lists the following procedure:

Open a bug against Eclipse Foundation > Community > Git requesting the migration. Make sure your project lead is CC'd and add a +1 to the bug. Include detailed plans for your migration:

-migration timeline
-mapping of current code to new Git repos
-your decision regarding existing code (archive or import)
-A description for each of your repositories. The description will be seen in the web view: http://git.eclipse.org/c/

Considering the timeline, I would be fine with doing that asap. I don't have any changes open and I do not plan to start working on new bugs before we have migrated. 

Concerning the mapping to repos, its probably the best to leave the Draw2d/GEF-3.x/Zest-1.x together in one repo, and I suppose we want to transfer our history, right?
Comment 15 Alexander Nyßen CLA 2012-02-02 17:11:39 EST
(In reply to comment #14)
> (In reply to comment #13)
> > (In reply to comment #12)
> > > From the experience I had with moving the GEF4 component, it would probably be
> > > easier to flatten the cvs repository structure before moving to Git, but we may
> > > also do that after having migrated, if this is intended.
> > > 
> > > Anthony, what do you think?
> > 
> > We should do whatever makes things better for Git.
> 
> Well, I think we should then ask the Webmaster what he recommends. The cvs-git
> migration guide (http://wiki.eclipse.org/Git/Migrating_to_Git) lists the
> following procedure:
> 
> Open a bug against Eclipse Foundation > Community > Git requesting the
> migration. Make sure your project lead is CC'd and add a +1 to the bug. Include
> detailed plans for your migration:
> 
> -migration timeline
> -mapping of current code to new Git repos
> -your decision regarding existing code (archive or import)
> -A description for each of your repositories. The description will be seen in
> the web view: http://git.eclipse.org/c/
> 
> Considering the timeline, I would be fine with doing that asap. I don't have
> any changes open and I do not plan to start working on new bugs before we have
> migrated. 
> 
> Concerning the mapping to repos, its probably the best to leave the
> Draw2d/GEF-3.x/Zest-1.x together in one repo, and I suppose we want to transfer
> our history, right?

An addition from my side. Now that we have cleaned the cvs repo up, we should leave the archive and not migrate it to the new git repository. 

Anthony, can I have your opinion of above listed points, so I can initiate the bug and we can that this done?
Comment 16 Anthony Hunter CLA 2012-02-02 19:08:22 EST
(In reply to comment #15)
> (In reply to comment #14)
> > (In reply to comment #13)
> > > (In reply to comment #12)
> > > > From the experience I had with moving the GEF4 component, it would probably be
> > > > easier to flatten the cvs repository structure before moving to Git, but we may
> > > > also do that after having migrated, if this is intended.
> > > > 
> > > > Anthony, what do you think?
> > > 
> > > We should do whatever makes things better for Git.
> > 
> > Well, I think we should then ask the Webmaster what he recommends. The cvs-git
> > migration guide (http://wiki.eclipse.org/Git/Migrating_to_Git) lists the
> > following procedure:
> > 
> > Open a bug against Eclipse Foundation > Community > Git requesting the
> > migration. Make sure your project lead is CC'd and add a +1 to the bug. Include
> > detailed plans for your migration:
> > 
> > -migration timeline
> > -mapping of current code to new Git repos
> > -your decision regarding existing code (archive or import)
> > -A description for each of your repositories. The description will be seen in
> > the web view: http://git.eclipse.org/c/
> > 
> > Considering the timeline, I would be fine with doing that asap. I don't have
> > any changes open and I do not plan to start working on new bugs before we have
> > migrated. 
> > 
> > Concerning the mapping to repos, its probably the best to leave the
> > Draw2d/GEF-3.x/Zest-1.x together in one repo, and I suppose we want to transfer
> > our history, right?
> 
> An addition from my side. Now that we have cleaned the cvs repo up, we should
> leave the archive and not migrate it to the new git repository. 
> 
> Anthony, can I have your opinion of above listed points, so I can initiate the
> bug and we can that this done?

Your plan sounds fine. You may want to email gef-dev to the other committers know that you are going to do the migration.
Comment 17 Alexander Nyßen CLA 2012-02-10 14:36:54 EST
OK, I raised bug #351232 to keep track of the migration process. Anthony, could you please +1 on this bug.
Comment 18 Anthony Hunter CLA 2012-02-10 20:11:47 EST
(In reply to comment #17)
> OK, I raised bug #351232 to keep track of the migration process. Anthony, could
> you please +1 on this bug.

+1, thanks for taking the lead on this.
Comment 19 Alexander Nyßen CLA 2012-02-16 15:54:53 EST
OK, the repo is now imported into http://git.eclipse.org/c/gef/org.eclipse.gef.git/ and I have changed the gef-nighty-tycho build to use the git repo instead of the cvs repository.
Comment 20 Alexander Nyßen CLA 2012-02-16 15:57:17 EST
Updated project meta-data to list the new Git repository instead of the old CVS one.
Comment 21 Alexander Nyßen CLA 2012-02-16 15:57:43 EST
Reminder: The web pages and the contribution guide will have to be updated as well.
Comment 22 Alexander Nyßen CLA 2012-02-16 16:45:52 EST
As a matter of cleaning up the repository, I would like to remove the ArcFix and TYCHO_BUILD_MIGRATION branches from the Git repository, so we only retain the maintenance branches as well as the master branch. Any objections?
Comment 23 Alexander Nyßen CLA 2012-02-16 18:13:32 EST
With the new Git repository in place, I think we will have to change our commit message standards (and update the contribution guide respectively). Git lists committer and date quite comfortable, as well as the branch, so only the bug and the changes are needed in the commit message. 

As such I would propose to in future use something like:

[<BugNumber>] <BugTitle>
<detailed description of changes>

for example:

[371820] Discontinued EDiagram Example
Untracked the project.
Comment 24 Alexander Nyßen CLA 2012-02-27 05:04:03 EST
Updated Getting Involved web page to no longer list CVS and Bugzilla, but instead delegate to the Contributor Guide within the wiki, where we can consistently describe how to set things up and handle contributions.
Comment 25 Alexander Nyßen CLA 2012-03-08 17:01:15 EST
Removed ArcFix and TYCHO_BUILD_MIGRATION branches from Git.
Comment 26 Alexander Nyßen CLA 2012-03-08 17:28:43 EST
Updated contribution guide w.r.t. to commit message format, as has been agreed on in the mailing list.
Comment 27 Alexander Nyßen CLA 2012-03-08 17:29:24 EST
The last thing that has to be done is updating the contribution guide section that describes how to create contributions.
Comment 28 Alexander Nyßen CLA 2012-03-11 12:20:11 EDT
Fabian augmented the contribution guide with instructions on how to create a contribution, so we are done with this by now. Resolving as fixed though.