Community
Participate
Working Groups
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.
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).
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
Is there something you'd like Webmaster to do here? -M.
Yes... can you copy over the missing branch? I'm afraid if I try I'll mess it up.
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.
Hm, when cloning this new repository, I can't see a 3_2_maintenance branch (or any other new branches for that matter).
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.
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.
So... where are we with this?
Well, if I can get confirmation that the test repo is 'good' I'm willing to make the changes to the 'live' repo. -M.
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?
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.
(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.
(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.
(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.
(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.
(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.
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...
(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.
(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 :)
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.
(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.
(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.
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?
I'm going to try to perform Carsten's original steps myself and see if that helps...
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?
Confirmed, looking great. Thanks.
Great! Matt, the backup of the UML2 repo can now be discarded, as can the test repo that you had set up. Thanks!