-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Here is some background and a proposal on releasing the next version of https://docs.terminusdb.com/.
Our current latest release is in the v10.0
branch and appears at https://docs.terminusdb.com/v10.0/. Our upcoming work is in the next
branch and currently appears at https://docs.terminusdb.com/next/.
We are not releasing a new major or minor version of TerminusDB, which is still at v10.0
. We are only a releasing a new version of the documentation for v10.0
. Therefore, we want to release the docs into a branch called v10.0
.
As a matter of course, we have some technical debt remaining from our transition to the new docs site and the need to get some basic documentation posted quickly for beta testers. The branches v10.0
and next
have unrelated histories, which means it is a bad idea to merge one into another. So, we're not going to do that.
In addition to launching the new version of the docs, I think it's a good time to transition our docs development to be on the main
branch (which is the default branch according to GitHub). Right now, it's confusing to have work being done in both main
and next
.
So, here's my proposal for the launch. Everything is done by creating and deleting branches. We do not do any merges. Here are the high-level steps:
- Copy
v10.0
toold-v10.0
. - Delete
v10.0
. - Copy
next
tov10.0
. - Delete
next
. - Copy
main
toold-main
. - Delete
main
. - Copy
v10.0
tomain
. - After 1 month: delete
old-v10.0
, deleteold-main
.
Here is what I mean by the instructions:
- Copy
old
tonew
:git checkout -b new old git push -u origin new
- Delete
old
:git branch -D old git push -d origin old
Advantages to this approach:
- No merging of unrelated histories
- Individual steps are easy
- Allows merging from
main
intov10.0
in the future, since their histories will be related - Keeping
old-v10.0
andold-main
around for 1 month allows us to revisit them if we find an issue with the newv10.0
ormain
Disadvantages:
- The remote branches
v10.0
andmain
will no longer match what people have referenced in their local repositories. The easiest fix is probably to just do a freshgit clone
of the repository. We just need to make sure nobody has any outstanding work to submit, otherwise it might be a bit painful to recover it. - We need to temporarily change the GitHub branch protections to allow deleting the remote branches.