Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 372315 - Missing 3.2 maintenance branch in UML2 git repository
Summary: Missing 3.2 maintenance branch in UML2 git repository
Status: RESOLVED FIXED
Alias: None
Product: Community
Classification: Eclipse Foundation
Component: Git (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Kenn Hussey CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 351775
  Show dependency tree
 
Reported: 2012-02-23 05:24 EST by Carsten Reckord CLA
Modified: 2012-06-05 07:17 EDT (History)
1 user (show)

See Also:
Kenn.Hussey: juno+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carsten Reckord CLA 2012-02-23 05:24:57 EST
The git repository at

   git://git.eclipse.org/gitroot/uml2/org.eclipse.uml2.git

is missing the latest sources of the 3.2.100 version from the
current Indigo release train.

The read-only CVS mirror at

   git://dev.eclipse.org/org.eclipse.mdt/org.eclipse.mdt.git

has a R3_2_maintenance branch containing these changes. But that one is
absent from the new UML2 git repository.

In detail, the following commits appear to have been lost:

creckord:~/git/org.eclipse.mdt > git log eclipse/R3_2_maintenance ^eclipse/origin ^eclipse/master -- org.eclipse.uml2
commit 782052bd26d59dc9ff48ea654899c15aa1441d32
Author: khussey <khussey>
Date:   Fri Sep 9 02:51:27 2011 +0000

    [357097] Fixing a typo in a class template override.

commit 6563ea4a5128c1e311325320f94ac564067bc593
Author: khussey <khussey>
Date:   Thu Aug 11 04:57:18 2011 +0000

    [354453] Working around validation problem for another bogus bidirectional pair of references.

commit cd9c83c93819ea3dd7ae3755e17ff6859403f7f6
Author: khussey <khussey>
Date:   Thu Aug 11 04:54:23 2011 +0000

    [348433] Avoiding NPE when migrating stereotypes from static profiles.

commit 07a37718097ed79be70e715c5e72f692790972c7
Author: khussey <khussey>
Date:   Thu Aug 11 04:52:39 2011 +0000

    [354452] Avoiding class cast exceptions for bogus class and metamodel references.

commit 30c8cc2ed2f60f53fc7de510664f86ee07dbb334
Author: khussey <khussey>
Date:   Thu Aug 11 04:52:39 2011 +0000

    [348433] Avoiding NPE when migrating stereotypes from static profiles.

commit f8253fb677385a04400ce01750d2b765546522ae
Author: khussey <khussey>
Date:   Thu Aug 11 04:52:38 2011 +0000

    [348433] Avoiding NPE when migrating stereotypes from static profiles.

commit 90da1cef748537cc212f45bff08ccd61025d1e4e
Author: khussey <khussey>
Date:   Thu Aug 11 04:52:38 2011 +0000

    [348433] Avoiding NPE when migrating stereotypes from static profiles.
Comment 1 Kenn Hussey CLA 2012-02-23 08:23:59 EST
Is it possible to copy this branch from CVS over to the git repository? Once that's done, we can probably make the CVS repository read-only since no further changes will be made for the Indigo stream (per the plan in bug 351781).
Comment 2 Carsten Reckord CLA 2012-02-23 12:26:32 EST
The following would graft the branch from the MDT repository onto the UML2 repository. But beware, I'm not that much of a git guru and here be dragons...

git clone -o mdt git://dev.eclipse.org/org.eclipse.mdt/org.eclipse.mdt.git
cd org.eclipse.mdt

#get uml2 repo, too - change to use committer access
git remote add -f uml2 git://git.eclipse.org/gitroot/uml2/org.eclipse.uml2.git

# mdt version of 3.2 branch
git checkout -b R3_2_mdt mdt/R3_2_maintenance

#rewrite current branch to contain only the uml2 subtree
#this will take a while
git filter-branch --subdirectory-filter org.eclipse.uml2

#create new branch for grafting onto uml2 repo
git checkout -b R3_2_maintenance

#find base revision in current branch corresponding to latest uml2/origin commit
#this should be 7099653
git log --oneline -n 1 HEAD^{/"Regenerating based on change in EMF for bug 346881"}

#rebase onto uml2/origin
git rebase --onto uml2/origin 7099653

#this will cause a conflict in plugins/org.eclipse.uml2.codegen.ecore/META-INF/MANIFEST.MF
#accept the new 1.7.1 version and continue - see [1]
vi plugins/org.eclipse.uml2.codegen.ecore/META-INF/MANIFEST.MF
git rebase --continue

#at this point, the current branch is identical to the sources of the latest release available in the Indigo P2 repo

#push to uml2 repo
git push uml2 R3_2_maintenance


[1] There seem to be commits missing in the mdt repository compared to the uml2/origin branch, causing this conflict:

In the MDT repo, the manifest changes directly from
cf133484 (khussey 2010-08-19 18:35:40 +0000  5) Bundle-Version: 1.6.100.qualifier 
to
2f8eb5a0 (khussey 2011-09-09 02:51:27 +0000  5) Bundle-Version: 1.7.1.qualifier

In uml2/origin, I see
2ca3e7aa (khussey 2010-08-19 18:35:40 +0000  5) Bundle-Version: 1.6.100.qualifier
to
8e7c65ad (khussey 2011-01-27 21:38:58 +0000  5) Bundle-Version: 1.7.0.qualifier

The latter is missing in mdt
Comment 3 Eclipse Webmaster CLA 2012-03-06 14:24:22 EST
Is there something you'd like Webmaster to do here?

-M.
Comment 4 Kenn Hussey CLA 2012-03-22 20:44:42 EDT
Yes... can you copy over the missing branch? I'm afraid if I try I'll mess it up.
Comment 5 Eclipse Webmaster CLA 2012-03-23 15:20:14 EDT
Ok, I created /gitroot/uml2/org.eclipse.uml2.git.032312 to work on.  I've manged to get all the steps above to work, so can I get confirmation that this 'new' repo is ok?

I think for actual 'deployment' this will be best done by a commiter, since I had to remove the update hook to let me push the changes into the test repo.  However I'm willing to create a backup copy of the repo in case something goes wrong.

-M.
Comment 6 Carsten Reckord CLA 2012-03-28 05:46:46 EDT
Hm, when cloning this new repository, I can't see a 3_2_maintenance branch (or any other new branches for that matter).
Comment 7 Eclipse Webmaster CLA 2012-04-09 10:38:16 EDT
I'm not sure I can explain why things seem to be missing from the test repo(but as you noted this is a 'complex' issue).

I'll go back through the steps and cross check against the git docs.

-M.
Comment 8 Eclipse Webmaster CLA 2012-05-16 15:30:48 EDT
Ok, sorry for the delay in getting (back) to this.

I re-read the instructions, and then ran them again(on a copy of the current uml2 repo), and things seems happier.

I uploaded the results to /gitroot/uml2/org.eclipse.uml2.test.git and using git log shows lots of tags.

-M.
Comment 9 Kenn Hussey CLA 2012-06-01 13:50:46 EDT
So... where are we with this?
Comment 10 Eclipse Webmaster CLA 2012-06-01 14:02:41 EDT
Well, if I can get confirmation that the test repo is 'good' I'm willing to make the changes to the 'live' repo.

-M.
Comment 11 Kenn Hussey CLA 2012-06-01 15:44:08 EDT
Carsten, can you please confirm whether the test repo now contains the expected branches?

Matt, I assume this won't have a negative effect on existing branches in the 'live' repo?
Comment 12 Carsten Reckord CLA 2012-06-01 17:29:13 EDT
The branch is there. But you still have conflict markers in plugins/org.eclipse.uml2.codegen.ecore/META-INF/MANIFEST.MF from the conflict during rebasing. Other than that, it looks great.

I could offer to push a fixed repo to some public location like github if that helps. I didn't do so initially because I'm not sure what that means for you guys regarding the eclipse.org IP process. I do have a valid committer agreement, if that matters.
Comment 13 Kenn Hussey CLA 2012-06-04 10:56:39 EDT
(In reply to comment #12)
> The branch is there. But you still have conflict markers in
> plugins/org.eclipse.uml2.codegen.ecore/META-INF/MANIFEST.MF from the conflict
> during rebasing. Other than that, it looks great.

How could there be conflicts? This branch doesn't exist in the target git repository at all. Shouldn't it "just" be a matter of copying it over?

> I could offer to push a fixed repo to some public location like github if that
> helps. I didn't do so initially because I'm not sure what that means for you
> guys regarding the eclipse.org IP process. I do have a valid committer
> agreement, if that matters.

I should be able to commit any changes that need to be made... but it's unclear to my why any changes should be needed.
Comment 14 Eclipse Webmaster CLA 2012-06-04 11:35:49 EDT
(In reply to comment #12)
 
> I could offer to push a fixed repo to some public location like github if that
> helps. I didn't do so initially because I'm not sure what that means for you
> guys regarding the eclipse.org IP process.

I've talked to EMO and EMO legal about this and the consensus is: provided all of the material in the repo has previously come in via the IP process(when it was added to SVN) then all we need is confirmation of that here on the bug.

After that you could upload a copy of the repo, tell me where it is and I can move it into place.


(In reply to comment #13)

> How could there be conflicts? This branch doesn't exist in the target git
> repository at all. Shouldn't it "just" be a matter of copying it over?
> I should be able to commit any changes that need to be made... but it's unclear
> to my why any changes should be needed.

I think the conflict was noted by Carsten in comment 2:

>[1] There seem to be commits missing in the mdt repository compared to the
>uml2/origin branch, causing this conflict:

-M.
Comment 15 Carsten Reckord CLA 2012-06-04 14:59:49 EDT
(In reply to comment #14)
> I've talked to EMO and EMO legal about this and the consensus is: provided all
> of the material in the repo has previously come in via the IP process(when it
> was added to SVN) then all we need is confirmation of that here on the bug.
> 
> After that you could upload a copy of the repo, tell me where it is and I can
> move it into place.

I have pushed the repository to git://github.com/creckord/org.eclipse.uml2.git

I hereby confirm that no original content that was not subject to the Eclipse IP process has been added to this repository. All content was taken from git://dev.eclipse.org/org.eclipse.mdt/org.eclipse.mdt.git
and applied to git://git.eclipse.org/gitroot/uml2/org.eclipse.uml2.git (both of which are subject to the Eclipse IP process) as outlined in comment #2

> (In reply to comment #13)
> 
> > How could there be conflicts? This branch doesn't exist in the target git
> > repository at all. Shouldn't it "just" be a matter of copying it over?
> > I should be able to commit any changes that need to be made... but it's
> unclear
> > to my why any changes should be needed.
> 
> I think the conflict was noted by Carsten in comment 2:
> 
> >[1] There seem to be commits missing in the mdt repository compared to the
> >uml2/origin branch, causing this conflict:
Yes. The process outlined in comment #2 does not reimport the missing content from its original CVS repository but from the (now defunct) common MDT git repository that was created initially created from CVS. This part of the history (contained in the origin branch) with the missing commit was not imported from the MDT repo but reused from the current UML2 repo since it was before the lost R3_2_maintenance content. Since the current UML2 repo seems to be more complete, nothing should be missing in the resulting branch. 

Also, I have verified that at least the end result matches the latest 3.2 release source bundles from p2.
Comment 16 Eclipse Webmaster CLA 2012-06-04 15:11:10 EDT
(In reply to comment #15)
> (In reply to comment #14)

> I have pushed the repository to git://github.com/creckord/org.eclipse.uml2.git
> 

Ah, perhaps I should have bean clearer.  I was expecting you to upload it to eclipse.org(and into your committer account) via sftp. 

Kenn are you ok with me replacing the current UML2 repo with the one Carsten has provided?

-M.
Comment 17 Kenn Hussey CLA 2012-06-04 15:15:09 EDT
(In reply to comment #16)
> Kenn are you ok with me replacing the current UML2 repo with the one Carsten
> has provided?

Yes, as long as you/he can guarantee me that the 'master' branch will be untouched as a result.
Comment 18 Carsten Reckord CLA 2012-06-04 15:16:34 EDT
Oh, sorry. I can still do that if you prefer and remove the github repo. The github one only contains the master and the new R3_2_maintenance branch, so I wouldn't just replace the old one with it...
Comment 19 Kenn Hussey CLA 2012-06-04 15:23:51 EDT
(In reply to comment #18)
> Oh, sorry. I can still do that if you prefer and remove the github repo. The
> github one only contains the master and the new R3_2_maintenance branch, so I
> wouldn't just replace the old one with it...

Sounds like the new 'R3_2_maintenance' branch just needs to be pushed to the existing git repository at Eclipse.
Comment 20 Carsten Reckord CLA 2012-06-04 15:29:31 EDT
(In reply to comment #19)
> Sounds like the new 'R3_2_maintenance' branch just needs to be pushed to the
> existing git repository at Eclipse.

Yes, that was my original intention :)
Comment 21 Eclipse Webmaster CLA 2012-06-04 15:51:51 EDT
If all that was needed was a branch 'push' why would Webmaster need to be involved?

As I see it there are 2 options(based on comments to this bug):

1)Either Carsten or Kenn commits the missing branch.
2)I replace the entire UML2 repo with one provided by Carsten(or Kenn).

As Kenn is the PL it's his call.

I can't guarantee "that the 'master' branch will be untouched" with option 2 as it relies on a repo prepared by Carsten.  

What I can do is create a backup of the repo as it stands before any changes are made, and revert to that backup if the changes produce undesirable results.

-M.
Comment 22 Kenn Hussey CLA 2012-06-04 16:12:45 EDT
(In reply to comment #21)
> If all that was needed was a branch 'push' why would Webmaster need to be
> involved?

Good question. I guess because the source of this branch was CVS and I have no idea how to migrate things from CVS to git.

> As I see it there are 2 options(based on comments to this bug):
> 
> 1)Either Carsten or Kenn commits the missing branch.
> 2)I replace the entire UML2 repo with one provided by Carsten(or Kenn).
> 
> As Kenn is the PL it's his call.

I'm willing to attempt #1.

> I can't guarantee "that the 'master' branch will be untouched" with option 2 as
> it relies on a repo prepared by Carsten.  

OK

> What I can do is create a backup of the repo as it stands before any changes
> are made, and revert to that backup if the changes produce undesirable results.

Yes, please do. In the meantime I'll fetch the repo from GitHub.
Comment 23 Eclipse Webmaster CLA 2012-06-04 16:17:19 EDT
(In reply to comment #22)

> Yes, please do. In the meantime I'll fetch the repo from GitHub.

Ok, I've copied the 'live' repo to org.eclipse.uml2.git.040612.

-M.
Comment 24 Kenn Hussey CLA 2012-06-04 16:38:50 EDT
Ugh. I tried to use Carsten's GitHub repo as a source, but that failed because of the committer hook. Then I tried to fetch from Matt's test, remove the conflict myself, and push, but that also failed because of the committer hook:

Repository
ssh://khussey@git.eclipse.org/gitroot/uml2/org.eclipse.uml2.git

hook declined
error: git.eclipse.org does not know this committer,
 or this this
committer cannot commit to this project (gid=8454
repo:org.eclipse.uml2): mward@dev2.eclipse.org.

denied: You (khussey)
cannot push changes that were not committed by you or members of your
project. Please fix your repository, and see http://wiki.eclipse.org/Git
for information on configuring your Git environment.

error: hook
declined to update refs/heads/R3_2_maintenance

How to proceed?
Comment 25 Kenn Hussey CLA 2012-06-04 18:02:30 EDT
I'm going to try to perform Carsten's original steps myself and see if that helps...
Comment 26 Kenn Hussey CLA 2012-06-04 19:55:14 EDT
OK, I was able to perform the original steps that Carsten outlined and push the new branch to the live repository. Carsten, could you please confirm that the new branch looks OK?
Comment 27 Carsten Reckord CLA 2012-06-05 04:37:58 EDT
Confirmed, looking great. Thanks.
Comment 28 Kenn Hussey CLA 2012-06-05 07:17:05 EDT
Great!

Matt, the backup of the UML2 repo can now be discarded, as can the test repo that you had set up. Thanks!