Description
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 thev1
andv2
branches for now. I believe this will cause errors onpull
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 keepv2
as the default branch, or create a newmain
branch to be the default. - Push the v2 code to the
master
branch, simply overwriting the existing code, and delete thev2
branch. The default branch remainsmaster
, causing the least disruption to developers with existing forks. However, the commit history onmaster
will be somewhat confusing. - Delete the
v1
branch, keep the v1 code on themaster
branch for now, but makev2
the default branch. Then we have two branches and both have clean git history, but existing developers withmaster
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?