Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge https://github.com/eclipse-equinox/equinox.framework into https://github.com/eclipse-equinox/equinox.bundles #14

Closed
Tracked by #10
akurtakov opened this issue Mar 22, 2022 · 23 comments

Comments

@akurtakov
Copy link
Member

I'm opening this one as a tracking issue as the question why we have so many repos and how have we decided to split them up comes too often.
@tjwatson I'm leaving this for you :)

@vogella
Copy link
Contributor

vogella commented Apr 20, 2022

PMC decided that this repo should be merged into the equinox.bundles. Would be nice to get this either done in M2 or in early M1 for the next release.

As @HannesWell is currently very active in cleaning up the dead code in Equinox we should also wait for this activity.

@HannesWell
Copy link
Member

Just for curiosity:
Why is this equinox.framework merged into equinox.bundles and not the other way round?
From my understanding this repo is the more basic one? Is it because besides o.e.osgi, its tests and the launchers (which hopefully becomes simpler too) it only contains plug-ins that are obsolete (sooner or later) like o.e.osgi.util, o.e.osgi.services and o.e.osgi.compatibility.state?

As @HannesWell is currently very active in cleaning up the dead code in Equinox we should also wait for this activity.

Thank you. :) I try to be as fast as possible but I'm currently slowed down by some unexpected problems with prelinary work I would like to complete for that.

And for clarification with next-release you mean 2022-09?

@vogella vogella changed the title Merge https://github.com/eclipse-equinox/equinox.bundles into this repo Merge https://github.com/eclipse-equinox/equinox.framework into https://github.com/eclipse-equinox/equinox.bundles Apr 22, 2022
@vogella
Copy link
Contributor

vogella commented Apr 22, 2022

Just for curiosity: Why is this equinox.framework merged into equinox.bundles and not the other way round?

@tjwatson suggested that. And see eclipse-equinox/equinox.bundles#18 for a rename of equinox.bundles to equinox

@bjhargrave
Copy link
Member

I assume you will do a full merge with complete history? So no history will be lost?

@tjwatson
Copy link
Contributor

I assume you will do a full merge with complete history? So no history will be lost?

Yes, we must preserve history which has been accomplished for other merged repositories.

Why is this equinox.framework merged into equinox.bundles and not the other way round?

I don't think it is that important which is merged into which as long as the full history is preserved. The reason I suggested framework->bundles is because we were discussing which repo name should "survive" the merge. And during that discussion I said that "bundles" makes more sense than "framework". But then we decided that the final merged repo would just be renamed to "equinox" anyway so in the end it will not matter which gets merged into which.

@tjwatson
Copy link
Contributor

@vogella How does this work for all the tags and branch names we have? I don't see we preserve all the maintenance branches or tags. How was that done for the other repos you merged?

@bjhargrave
Copy link
Member

Yes, we must preserve history which has been accomplished for other merged repositories.

I have done such a repo merge with history preservation myself with bnd+bndtools -> bnd.

@bjhargrave
Copy link
Member

How does this work for all the tags and branch names we have?

You will probably need to retag the dying repo to use non-conflicting tag names before you merge it into the surviving repo. You can't have the same tag pointing to different commits.

@vogella
Copy link
Contributor

vogella commented Apr 22, 2022

We typically merge the master branch into the master branch of the target. The old repo is still there so tags and maintenance branches will remain there.

@bjhargrave why (and how) did you merge all maintenance branches into each other? What is the value, old builds did happen against the old repo so merging the maintenance branches together results in a wrong picture IMHO.

@bjhargrave
Copy link
Member

The two repos will need disjoint branch and tag name sets before merging. This could be done by modifying (a clone of) the dying repo to change all branch and tag names to be different than the surviving repo. Then when the dying repo is merged into the surviving repo, all the branch and tag names are present.

So the repo whose branch and tag names should not be changed should be the surviving repo.

So using the branch name R4_23_maintenance as an example, in the dying repo, it must be changed to something like R4_23_maintenance_framework before being merged into the surviving repo which already has a R4_23_maintenance branch. Same for tags like I20220421-1910 which exists in both repos. There are a lot of tags...

A much more complicated and aggressive approach would be to attempt to actually merge the contents of the repos at each branch and tag having the same name. But that would be a complete rewrite of all commits and a non-fast forward push. That seems too much.

@bjhargrave
Copy link
Member

The old repo is still there so tags and maintenance branches will remain there.

We if you only care about the main branch, then you can ignore all the tags and branches. But it does effectively mean some history is lost in the surviving repo since you will need to know to look in the archived, dying repo.

@vogella
Copy link
Contributor

vogella commented Apr 22, 2022

Except the merged repo is not dying, it will remain available only new development will be done in the new repo. So doing the work you sugggesting will like a lot of effort visible benefit (for me), as all the old info is still available via the old repo.

@bjhargrave
Copy link
Member

bjhargrave commented Apr 22, 2022

Except the merged repo is not dying,

It should be marked "Archived" in GitHub to make it read-only to all and to clearly indicate to viewers its status.

@vogella
Copy link
Contributor

vogella commented Apr 22, 2022

Except the merged repo is not dying,

It should be marked "Archived" in GitHub to make it read-only to all and to clearly indicate to viewers its status.

+1, if that is possible to mark it as Archive.

Still the history will be available. I belong in the "old stuff is not valuable enough to spend a lot of effort to save it" camp so I think we should not spend a lot of effort on moving old info to new places. If people want to find out what went in a maintenance release, they can check the old repo.

@vogella
Copy link
Contributor

vogella commented Jun 14, 2022

@tjwatson any progress on the merge side?

@laeubi
Copy link
Member

laeubi commented Jun 16, 2022

@tjwatson please get in contact with EF Infra to archive this repository now!

@vogella
Copy link
Contributor

vogella commented Jun 16, 2022

@tjwatson please get in contact with EF Infra to archive this repository now!

AFAIK we still need this for maintenance builds, you can empty it (delete everything and create README about the move) similar to the PDE.build or eclipse.platform.runtime repo if you want.

@tjwatson
Copy link
Contributor

I can take care of the README and delete from the main branch. I was waiting for a good I-Build to happen on the new repo before I did that. AFAIK we have not had one yet?

@akurtakov
Copy link
Member Author

@tjwatson please take care of cleaning the old repos now. We have an "almost" successful build aka with comparator errors https://download.eclipse.org/eclipse/downloads/drops4/I20220616-0910/ but that's independent of the merge.

@vogella
Copy link
Contributor

vogella commented Jun 17, 2022

@vogella
Copy link
Contributor

vogella commented Jun 17, 2022

@vogella
Copy link
Contributor

vogella commented Jun 17, 2022

Done, thanks @akurtakov and @laeubi for doing the work for this. Interessting how fast things can move once something breaks like the Maven update. :-)

@vogella vogella closed this as completed Jun 17, 2022
@HannesWell
Copy link
Member

Thanks, also from me to @laeubi and @akurtakov!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants