-
Notifications
You must be signed in to change notification settings - Fork 19
History recovery
This page describes the plan for recovering the full revision history of the MLWorks repository from the recovered Hope/RCS repository. But be warned it will involve rebasing the "master" branch.
I've investigated many alternatives for inserting the Hope/RCS history into a GitHub repository. Linus himself invented GraftPoint https://git.wiki.kernel.org/index.php/GraftPoint for the purpose. git-replace https://www.kernel.org/pub/software/scm/git/docs/git-replace.html a more up-to-date alternative. Sadly, neither of these work with GitHub, who say they're working on it. This means the history wouldn't be visible using GitHub's useful browsing facilities, which kind of defeats the object of the exercise.
So my plan is simply to merge the history and its branches into the main repository, except for the master branch. I'll git-rebase the recent changes in master on top of the historical master. This will essentially re-apply those changes, creating new commits. This is moderately disruptive.
If you're interested in the git-fu, it goes something like this:
git clone git@github.com:Ravenbrook/mlworks.git
cd mlworks
git remote add history /path/to/imported/history/repo
git fetch history
for each $branch in history's list of branches except master
git branch $branch history/$branch
git branch mlworks-temporary-master master (permanent record)
git rebase -i history/master (and delete first item)
git push --force --all