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

RubyGems/Bundler repository merger considerations #1681

Open
indirect opened this Issue Aug 8, 2016 · 11 comments

Comments

Projects
None yet
4 participants
@indirect
Member

indirect commented Aug 8, 2016

  • how to migrate in-progress work from bundler/bundler to rubygems/rubygems
  • how to make sending a PR on Bundler not a total dev nightmare for inexperienced devs
  • documentation around checking out the shared repo and immediately being able to use/edit/PR against either project
  • what to do with the issues on bundler/bundler
  • what to do with the open PRs on bundler/bundler
  • how to handle stable branches for both projects after the merge
  • how to release either project from a checkout of the combined repo
  • what to do with the 2-0-dev branch after the merge
  • how to migrate existing contributors to committing and PRing against the new repo
@hsbt

This comment has been minimized.

Show comment
Hide comment
@hsbt

hsbt Aug 9, 2016

Member
  • "How to migrate ruby core repository and maintain it"

I will try to coordinate it to ruby core team.

Member

hsbt commented Aug 9, 2016

  • "How to migrate ruby core repository and maintain it"

I will try to coordinate it to ruby core team.

@segiddins

This comment has been minimized.

Show comment
Hide comment
@segiddins

segiddins Aug 12, 2016

Member

how to migrate in-progress work from bundler/bundler to rubygems/rubygems

I can write a script that will move over open PRs -- It'll likely be something like making PR branches in rubygems/rubygems and then doing a subtree merge of the open PR work

how to make sending a PR on Bundler not a total dev nightmare for inexperienced devs

It won't be any different than it is now -- if you're only contributing to the "Bundler" part, just git glone rubygems/rubygems && cd bundler (for the time being)

documentation around checking out the shared repo and immediately being able to use/edit/PR against either project

testing RubyGems won't change at all
testing bundler will just be cd bundler and the same as it is now (again, for the time being)

what to do with the issues on bundler/bundler

I think we should cull the issues first and close anything that's outdated and likely to be irrelevant or inactionable, and then migrate them over to rubygems/rubygems the same way we migrated the bundler features issues to bundler/bundler

what to do with the open PRs on bundler/bundler

See my answer to the first bullet

how to handle stable branches for both projects after the merge

one option is to use major-minor-project until 3.0

how to release either project from a checkout of the combined repo

rake release in the root or in the bundler subdirectory depending on which proejct you're releasing

what to do with the 2-0-dev branch after the merge

Hopefully get it on bundler master before the merge?

how to migrate existing contributors to committing and PRing against the new repo

Should largely be the same process, except bundler will be in a subdirectory

How to migrate ruby core repository and maintain it

Ruby-Core has two choices (until the merged 3.0 is released)

  1. Add bundler as a default gem. This way, the bundler files won't have to be added to lib, although this will be necessary once 3.0 is released anyways.
  2. Add the files in lib/bundler to ruby-core, the same way they get packaged up in rubygems when setup.rb is run
Member

segiddins commented Aug 12, 2016

how to migrate in-progress work from bundler/bundler to rubygems/rubygems

I can write a script that will move over open PRs -- It'll likely be something like making PR branches in rubygems/rubygems and then doing a subtree merge of the open PR work

how to make sending a PR on Bundler not a total dev nightmare for inexperienced devs

It won't be any different than it is now -- if you're only contributing to the "Bundler" part, just git glone rubygems/rubygems && cd bundler (for the time being)

documentation around checking out the shared repo and immediately being able to use/edit/PR against either project

testing RubyGems won't change at all
testing bundler will just be cd bundler and the same as it is now (again, for the time being)

what to do with the issues on bundler/bundler

I think we should cull the issues first and close anything that's outdated and likely to be irrelevant or inactionable, and then migrate them over to rubygems/rubygems the same way we migrated the bundler features issues to bundler/bundler

what to do with the open PRs on bundler/bundler

See my answer to the first bullet

how to handle stable branches for both projects after the merge

one option is to use major-minor-project until 3.0

how to release either project from a checkout of the combined repo

rake release in the root or in the bundler subdirectory depending on which proejct you're releasing

what to do with the 2-0-dev branch after the merge

Hopefully get it on bundler master before the merge?

how to migrate existing contributors to committing and PRing against the new repo

Should largely be the same process, except bundler will be in a subdirectory

How to migrate ruby core repository and maintain it

Ruby-Core has two choices (until the merged 3.0 is released)

  1. Add bundler as a default gem. This way, the bundler files won't have to be added to lib, although this will be necessary once 3.0 is released anyways.
  2. Add the files in lib/bundler to ruby-core, the same way they get packaged up in rubygems when setup.rb is run
@indirect

This comment has been minimized.

Show comment
Hide comment
@indirect

indirect Aug 14, 2016

Member

It won't be any different than it is now -- if you're only contributing to the "Bundler" part, just git glone rubygems/rubygems && cd bundler (for the time being)

testing RubyGems won't change at all
testing bundler will just be cd bundler and the same as it is now (again, for the time being)

Should largely be the same process, except bundler will be in a subdirectory

These don't seem like proposals to resolve the issue. They read more like an assertion that this doesn't even need documentation, which I can guarantee is not true. How would you communicate these changes? What documentation would you write, where would you put it, and how would you surface it to resolve these issues?

Member

indirect commented Aug 14, 2016

It won't be any different than it is now -- if you're only contributing to the "Bundler" part, just git glone rubygems/rubygems && cd bundler (for the time being)

testing RubyGems won't change at all
testing bundler will just be cd bundler and the same as it is now (again, for the time being)

Should largely be the same process, except bundler will be in a subdirectory

These don't seem like proposals to resolve the issue. They read more like an assertion that this doesn't even need documentation, which I can guarantee is not true. How would you communicate these changes? What documentation would you write, where would you put it, and how would you surface it to resolve these issues?

@indirect

This comment has been minimized.

Show comment
Hide comment
@indirect

indirect Aug 14, 2016

Member

@hsbt 👍🙇

Member

indirect commented Aug 14, 2016

@hsbt 👍🙇

@hsbt

This comment has been minimized.

Show comment
Hide comment
@hsbt

hsbt Sep 7, 2016

Member

I addressed issue on ruby core: https://bugs.ruby-lang.org/issues/12733

Member

hsbt commented Sep 7, 2016

I addressed issue on ruby core: https://bugs.ruby-lang.org/issues/12733

@segiddins

This comment has been minimized.

Show comment
Hide comment
@segiddins

segiddins Sep 22, 2016

Member

Bundler & RubyGems merged: what now?


So you've just read that we've merged the bundler and rubygems repositories. Let's walk through what exactly that means, and figure out how it will effect you.

I use RubyGems and Bundler

Our goal is, for now, to keep everything exactly the same for users of RubyGems and Bundler. The only visible change will be that RubyGems comes with a version of Bundler pre-installed now.

I want to make a pull request to RubyGems

Great, thanks for contributing! To start, you'll want to git clone https://github.com/rubygems/rubygems, cd rubygems, run rake newb, and then follow the instuctions at https://github.com/rubygems/rubygems/blob/master/CONTRIBUTING.rdoc.

I want to make a pull request to Bundler

Great, thanks for contributing! To start, you'll want to git clone https://github.com/rubygems/rubygems, cd rubygems/bundle, run bin/rake spec:deps, and then follow the instuctions at https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md.

I just want to browse code

Head over to https://github.com/rubygems/rubygems. RubyGems related code is in the root of the repository, while Bundler things are in the bundler subdirectory

I had an open issue on bundler/bundler

We've migrated all open issues to rubygems/rubygems -- you should have gotten a notification. There will also be a link at the bottom of any migrated issue pointing you to the new one :)

I had an open PR on bundler/Bundler

Run curl XXX | ruby and fill out the requested information. This will actually work even if you haven't made a PR to bundler/bundler yet, but just had the work on a local branch.

I want to release RubyGems < 3

cd rubygems && rake release

I want to release Bundler < 3

cd rubygems/bundler && rake release

I was working on Bundler 2

cd rubygems && git checkout 2-0-dev

Why all the version 3 references?

Version 3 will be the combined rubygems/bundler 3 release. In it, we will stop shipping bundler as a separate gem and rubygems will be the only means of distribution for both bundler and rubygems. Until version 3 is released, however, bundler and rubygems will remain quasi-separate projects, and this guide should help explain what's going on. I'm sure we'll publish a new one when 3.0 comes out :)

Member

segiddins commented Sep 22, 2016

Bundler & RubyGems merged: what now?


So you've just read that we've merged the bundler and rubygems repositories. Let's walk through what exactly that means, and figure out how it will effect you.

I use RubyGems and Bundler

Our goal is, for now, to keep everything exactly the same for users of RubyGems and Bundler. The only visible change will be that RubyGems comes with a version of Bundler pre-installed now.

I want to make a pull request to RubyGems

Great, thanks for contributing! To start, you'll want to git clone https://github.com/rubygems/rubygems, cd rubygems, run rake newb, and then follow the instuctions at https://github.com/rubygems/rubygems/blob/master/CONTRIBUTING.rdoc.

I want to make a pull request to Bundler

Great, thanks for contributing! To start, you'll want to git clone https://github.com/rubygems/rubygems, cd rubygems/bundle, run bin/rake spec:deps, and then follow the instuctions at https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md.

I just want to browse code

Head over to https://github.com/rubygems/rubygems. RubyGems related code is in the root of the repository, while Bundler things are in the bundler subdirectory

I had an open issue on bundler/bundler

We've migrated all open issues to rubygems/rubygems -- you should have gotten a notification. There will also be a link at the bottom of any migrated issue pointing you to the new one :)

I had an open PR on bundler/Bundler

Run curl XXX | ruby and fill out the requested information. This will actually work even if you haven't made a PR to bundler/bundler yet, but just had the work on a local branch.

I want to release RubyGems < 3

cd rubygems && rake release

I want to release Bundler < 3

cd rubygems/bundler && rake release

I was working on Bundler 2

cd rubygems && git checkout 2-0-dev

Why all the version 3 references?

Version 3 will be the combined rubygems/bundler 3 release. In it, we will stop shipping bundler as a separate gem and rubygems will be the only means of distribution for both bundler and rubygems. Until version 3 is released, however, bundler and rubygems will remain quasi-separate projects, and this guide should help explain what's going on. I'm sure we'll publish a new one when 3.0 comes out :)

@bronzdoc

This comment has been minimized.

Show comment
Hide comment
@bronzdoc

bronzdoc Sep 22, 2016

Member

If bundler issues will be migrating to this repository can we have a bundler label added to those?

Member

bronzdoc commented Sep 22, 2016

If bundler issues will be migrating to this repository can we have a bundler label added to those?

@segiddins

This comment has been minimized.

Show comment
Hide comment
@segiddins

segiddins Sep 22, 2016

Member

@bronzdoc that's a great idea!

Member

segiddins commented Sep 22, 2016

@bronzdoc that's a great idea!

@segiddins

This comment has been minimized.

Show comment
Hide comment
@segiddins

segiddins Sep 24, 2016

Member

So I don't forget, here's how the initial merger will start

git checkout -B seg-merge-repos master
git rm -rf bundler
git commit -am "Remove the bundler submodule"
git subtree add --prefix bundler https://github.com/bundler/bundler.git master
git push origin seg-merge-repos
Member

segiddins commented Sep 24, 2016

So I don't forget, here's how the initial merger will start

git checkout -B seg-merge-repos master
git rm -rf bundler
git commit -am "Remove the bundler submodule"
git subtree add --prefix bundler https://github.com/bundler/bundler.git master
git push origin seg-merge-repos
@bronzdoc

This comment has been minimized.

Show comment
Hide comment
@bronzdoc

bronzdoc Jun 26, 2018

Member

This has been opend for almos 2 years, can this be closed now?

Member

bronzdoc commented Jun 26, 2018

This has been opend for almos 2 years, can this be closed now?

@segiddins segiddins removed their assignment Jun 27, 2018

@segiddins

This comment has been minimized.

Show comment
Hide comment
@segiddins

segiddins Jun 27, 2018

Member

can this be closed now?

The merger isn't done yet, so it probably should stay open

Member

segiddins commented Jun 27, 2018

can this be closed now?

The merger isn't done yet, so it probably should stay open

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment