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

Make the v2 branch the default branch #302

Closed
mbrubeck opened this issue Jul 5, 2023 · 9 comments
Closed

Make the v2 branch the default branch #302

mbrubeck opened this issue Jul 5, 2023 · 9 comments

Comments

@mbrubeck
Copy link
Collaborator

mbrubeck commented Jul 5, 2023

I have pushed the changes from #284 to the v2 branch in this repo, and made a v1 branch where maintenance of smallvec 1.x can continue. These branches have diverged, and there are several things that need to be forward-ported from the v1 branch to the v2 branch before we can release it. This will require significant manual rebasing / cherry-picking / conflict resolution, so I couldn't just merge the v2 branch into master.

In order to focus new development on the 2.0 codebase and avoid further divergence, I would like to make v2 the default branch. I am not an admin of this repo. @jdm, do you have access to do this, and do you agree with this plan? And what should we do with the old master branch in the meantime?

Some possible approaches:

  • Delete the master branch, leaving only the v1 and v2 branches for now. I believe this will cause errors on pull for developers with existing forks of this repo, which will be disruptive but will also help alert them to this situation. Once version 2.0 is released, either keep v2 as the default branch, or create a new main branch to be the default.
  • Push the v2 code to the master branch, simply overwriting the existing code, and delete the v2 branch. The default branch remains master, causing the least disruption to developers with existing forks. However, the commit history on master will be somewhat confusing.
  • Delete the v1 branch, keep the v1 code on the master branch for now, but make v2 the default branch. Then we have two branches and both have clean git history, but existing developers with master checked out may not notice they are no longer working on the latest code.
  • Keep all three branches around for some reason??

Maybe GitHub's branch renaming and redirect feature can help somehow?

@jdm
Copy link
Member

jdm commented Jul 22, 2023

I do have access to make the v2 branch the default. Is that your preference?

@jdm
Copy link
Member

jdm commented Jul 22, 2023

Deleting the master branch might be the safest choice, given those options.

@mbrubeck
Copy link
Collaborator Author

Yes please, let's make v2 the default branch, and delete master. We can always undo this if it causes problems.

@jdm
Copy link
Member

jdm commented Jul 23, 2023

I've set the default branch. You should be able to delete the master branch.

@mbrubeck
Copy link
Collaborator Author

Thanks!

It looks like I can't delete the master branch because it is protected.

@jdm
Copy link
Member

jdm commented Jul 23, 2023

I've deleted the branch protection rule for master and added a matching one for v2. It does not yet have any required status checks enabled, because there have been no status checks on that branch yet. I've also granted you admin access to this repository.

@jdm
Copy link
Member

jdm commented Jul 23, 2023

Will the CI workflow need to be updated?

@waywardmonkeys
Copy link
Contributor

Some changes are needed for CI to work correctly and I've pushed a PR (#305) that should fix a couple of things so far.

@waywardmonkeys
Copy link
Contributor

I think you'll want to protect v1 as well so that review is required to push to it.

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

3 participants