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

Bug 385239

Summary: Git migration request
Product: Community Reporter: Matt Heitz <mheitz>
Component: GitAssignee: Eclipse Webmaster <webmaster>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Matt Heitz CLA 2012-07-16 17:02:31 EDT
I've been reading http://wiki.eclipse.org/Git/Migrating_to_Git#Open_a_Bug (which hopefully isn't too out of date).  The tools.edt project needs to be migrated from CVS to Git.  I'd rather not do the migration myself since I don't have any experience with Git yet.

That wiki page says you need four pieces of info:
1. migration timeline
2. mapping of current code to new Git repos
3. your decision regarding existing code (archive or import)
4. A description for each of your repositories

I'll get back to you about #2 and #4.

For #1, we're about to finish a release, so it would be ideal if the migration could start soon: this Friday at the earliest, or sometime next week.  We can set aside a week for you to do the migration.

For #3 we'll choose 'import' so the history of the files is preserved.  In addition to HEAD we want to keep ~10 tags.  We don't need to keep any branches.

Questions for you:
* Is my proposed timeline feasible for you?
* How long do you expect it to take?
* Is there anything else you need from us?
Comment 1 Eclipse Webmaster CLA 2012-07-17 10:10:37 EDT
Next week is fine(but you may need to bump this bug).

Depending on the size of your repo the import can take from 20minutes to a couple of hours.

Once the initial import is finished I'll need confirmation that the resulting Git repo contains what you expect it to.  With that in hand I"ll mark your CVS data as read only.

-M.
Comment 2 Matt Heitz CLA 2012-07-20 15:31:59 EDT
> Next week is fine(but you may need to bump this bug).

Cool.  How about Tuesday, the 24th?  Starting in the morning would be best, so we can wrap it up in a single day.
Comment 3 Matt Heitz CLA 2012-07-23 13:15:42 EDT
My team decided we're rather do the migration on Friday (7/27) or Monday (7/30).  Can we set up a time to do it on one of those days?
Comment 4 Matt Heitz CLA 2012-07-23 14:26:08 EDT
Our code in CVS is in the repository /cvsroot/tools.  Our projects are in 10 directories under org.eclipse.edt.  The samples sub-directory doesn't need to be migrated to Git, but the other nine should each be turned into a Git repository.  The repositories should be named after the sub-directories.  For example, the projects currently in org.eclipse.edt/core would be migrated to a repository named edt/org.eclipse.edt.core.git .

You can set the description of each repository from the sub-directory's name, e.g. use "EDT Core" for the edt/org.eclipse.edt.core.git repository.

There are 20 projects which we don't want to bring over into Git.  Please don't put these into the repositories:
   org.eclipse.edt/gen/org.eclipse.edt.gen.eck
   org.eclipse.edt/gen/org.eclipse.edt.gen.generator.deployment.javascript
   org.eclipse.edt/gen/org.eclipse.edt.gen.generator.egl
   org.eclipse.edt/gen/org.eclipse.edt.gen.generator.eglsource
   org.eclipse.edt/gen/org.eclipse.edt.gen.generator.java
   org.eclipse.edt/gen/org.eclipse.edt.gen.generator.javascript
   org.eclipse.edt/gen/org.eclipse.edt.gen.java.templates.egl.core
   org.eclipse.edt/ide/org.eclipse.edt.ide.generator.egl
   org.eclipse.edt/ide/org.eclipse.edt.rui.samples.helloworld_0.7.0
   org.eclipse.edt/samples/org.eclipse.edt.samples
   org.eclipse.edt/tests/org.eclipse.edt.tests.validation
   org.eclipse.edt/tests/smoketest
   org.eclipse.edt/tests/smoketest.eunit.java
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo.runtime.remote_1.6.1
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo.runtime.local_1.6.1
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo.remote_0.7.0
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo.mobile.0.8.1
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo_0.7.0
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo.widgets_0.7.0
   org.eclipse.edt/widgets/org.eclipse.edt.rui.widgets_0.7.0
Comment 5 Matt Heitz CLA 2012-07-23 14:32:19 EDT
Here's my final update for the day (you're welcome).  There's also one CVS branch that we'd like migrated.  It's named edtExtensibleCore and it contains the folllowing plugins: org.eclipse.edt.compiler, org.eclipse.edt.mof, and org.eclipse.edt.mof.egl
Comment 6 Matt Heitz CLA 2012-07-24 13:27:45 EDT
This is an update to comment #4.  It turns out that we *do* want the following five projects to be migrated to Git:
   org.eclipse.edt/gen/org.eclipse.edt.gen.generator.deployment.javascript
   org.eclipse.edt/gen/org.eclipse.edt.gen.generator.egl
   org.eclipse.edt/gen/org.eclipse.edt.gen.generator.eglsource
   org.eclipse.edt/gen/org.eclipse.edt.gen.generator.java
   org.eclipse.edt/gen/org.eclipse.edt.gen.generator.javascript

Now there are 15 projects which we don't want in Git:
   org.eclipse.edt/gen/org.eclipse.edt.gen.eck
   org.eclipse.edt/gen/org.eclipse.edt.gen.java.templates.egl.core
   org.eclipse.edt/ide/org.eclipse.edt.ide.generator.egl
   org.eclipse.edt/ide/org.eclipse.edt.rui.samples.helloworld_0.7.0
   org.eclipse.edt/samples/org.eclipse.edt.samples
   org.eclipse.edt/tests/org.eclipse.edt.tests.validation
   org.eclipse.edt/tests/smoketest
   org.eclipse.edt/tests/smoketest.eunit.java
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo.runtime.remote_1.6.1
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo.runtime.local_1.6.1
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo.remote_0.7.0
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo.mobile.0.8.1
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo_0.7.0
   org.eclipse.edt/widgets/org.eclipse.edt.rui.dojo.widgets_0.7.0
   org.eclipse.edt/widgets/org.eclipse.edt.rui.widgets_0.7.0
Comment 7 Eclipse Webmaster CLA 2012-07-24 16:32:33 EDT
I've got the initial imports done. Can I get confirmation that things are as expected?

URLs:

ssh://committerid@git.eclipse.org/gitroot/edt/org.eclipse.edt.core.git
ssh://committerid@git.eclipse.org/gitroot/edt/org.eclipse.edt.debug.git
ssh://committerid@git.eclipse.org/gitroot/edt/org.eclipse.edt.gen.git
ssh://committerid@git.eclipse.org/gitroot/edt/org.eclipse.edt.ibmi.git
ssh://committerid@git.eclipse.org/gitroot/edt/org.eclipse.edt.ide.git
ssh://committerid@git.eclipse.org/gitroot/edt/org.eclipse.edt.releng.git
ssh://committerid@git.eclipse.org/gitroot/edt/org.eclipse.edt.runtimes.git
ssh://committerid@git.eclipse.org/gitroot/edt/org.eclipse.edt.tests.git
ssh://committerid@git.eclipse.org/gitroot/edt/org.eclipse.edt.widgets.git

http://git.eclipse.org/gitroot/edt/org.eclipse.edt.core.git
http://git.eclipse.org/gitroot/edt/org.eclipse.edt.debug.git
http://git.eclipse.org/gitroot/edt/org.eclipse.edt.gen.git
http://git.eclipse.org/gitroot/edt/org.eclipse.edt.ibmi.git
http://git.eclipse.org/gitroot/edt/org.eclipse.edt.ide.git
http://git.eclipse.org/gitroot/edt/org.eclipse.edt.releng.git
http://git.eclipse.org/gitroot/edt/org.eclipse.edt.runtimes.git
http://git.eclipse.org/gitroot/edt/org.eclipse.edt.tests.git
http://git.eclipse.org/gitroot/edt/org.eclipse.edt.widgets.git

-M.
Comment 8 Matt Heitz CLA 2012-07-25 14:48:30 EDT
Matt, I'm inspecting the repositories.  I'll add another comment when I'm done.

I see one project that was migrated, but we don't want: org.eclipse.edt/tests/smoketest

It looks like you migrated all of the branches from CVS.  Is that correct?  (If so it's not a problem.)

Also, can I get you to pin down a time on Friday or Monday for when we officially make the switch?
Comment 9 Matt Heitz CLA 2012-07-25 15:39:57 EDT
I'm done poking around.  Other than what I wrote in the previous comment, everything looks good.
Comment 10 Eclipse Webmaster CLA 2012-07-25 16:25:39 EDT
Are you still committing code to CVS?  If yes then I'll need to do some work and re-run the imports.  If no, I can remove tests/smoketest and just re-run that single import.  

As for timing, how about 11am on friday? (If you're still using CVS I'll freeze it first)

-M.
Comment 11 Matt Heitz CLA 2012-07-26 09:10:16 EDT
Yes, we're still committing.  11 am Friday is perfect.  I'll tell the team not to commit anything to CVS after 10 am Friday.
Comment 12 Matt Heitz CLA 2012-07-26 09:16:16 EDT
Oh, and please answer my question from an earlier comment: are you migrating all of the branches from CVS?
Comment 13 Eclipse Webmaster CLA 2012-07-26 10:55:53 EDT
Yes, the conversion tool does it's best to convert everything.

-M.
Comment 14 Eclipse Webmaster CLA 2012-07-27 11:18:35 EDT
Ok I've frozen CVS and the conversion is in progress.

-M.
Comment 15 Eclipse Webmaster CLA 2012-07-27 13:19:35 EDT
Ok the imports have finished.

-M.
Comment 16 Matt Heitz CLA 2012-07-27 13:27:35 EDT
Great!  Thanks Matt.
Comment 17 Matt Heitz CLA 2012-07-30 14:44:06 EDT
Hello again.  We've found that having so many Git repositories is a pain.  We'd like to re-do the migration from CVS, into a single Git repo.

You could call the new repository org.eclipse.edt.git, and we don't need subdirectories like we had in CVS.  Just put all the projects at the top level.

We've only made a few changes in the Git repos that you initially created for us, and we'll migrate them to org.eclipse.edt.git ourselves.

There's one change to the list in comment #6.  We do want to migrate project org.eclipse.edt/tests/org.eclipse.edt.tests.validation to Git.

When can you do the new migration?  And, is it possible to keep the original repositories around for a day or two, in read-only mode, before you delete them?
Comment 18 Eclipse Webmaster CLA 2012-07-30 15:44:46 EDT
I'm running the imports now, should be done by 5.

-M.
Comment 19 Matt Heitz CLA 2012-07-30 16:02:43 EDT
Thanks.  How about my other question: can you keep the other repositories around for a few days and then delete them?
Comment 20 Eclipse Webmaster CLA 2012-07-30 16:25:44 EDT
Sure, tell me when your done with them.

-M.
Comment 21 Matt Heitz CLA 2012-08-01 16:13:16 EDT
(In reply to comment #20)
> Sure, tell me when your done with them.
> 
> -M.

We're done with them.
Comment 22 Eclipse Webmaster CLA 2012-08-02 10:16:27 EDT
Ok they are all gone, only org.eclipse.edt.git remains.

-M.