Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
THIS BRANCH IS OBSOLETE, PLEASE READ:
Dear all, the FreeBSD project has switched their source of truth repository from Subversion to Git on 2020-12-23. The previously published commit hashes were missing required merge commits and were thus unsuitable to be the basis of the source of truth repository. They had to be changed (aka "force pushed"). We're sorry for the inconvenience this causes. The `master` branch will no longer see any updates and we will push to `main` going forward. The `stable/X` and `releng/X` branches will see a force-push directly. To transplant your work, it is recommended to head over to the wiki at https://github.com/freebsd/git_conv/wiki for instructions on how to rebase or remerge your in-flight work. A short outline will be provided below. Please note that the actual git "trees" are of course identical between the old and new conversions, so it's relatively easy to craft git commits that merge or rebase the work w/o any merge conflicts. Please reach out to [email protected] or file an issue under https://github.com/freebsd/git_conv/issues if you need assistance. The mapping of the old to new commit hashes (for the same tree) are given below. We have archived a copy of the legacy repo under https://github.com/freebsd/freebsd-legacy which you can add as a remote to always have a reference to the old `master` or `stable/X` branches and names. This is a merge commit that brings both histories together, giving you common history ancestors, which should help with later merging. You should be able to cleanly merge into this "legacy" master, and then merge into "main" following from that. All the following commands assume you've checked out your own workbranch. -- Merge from master to main -- $ git remote add freebsd-legacy https://github.com/freebsd/freebsd-legacy.git $ git fetch --all $ git merge freebsd-legacy/master (this convenience commit) $ git merge origin/main -- Merge for stable/X or releng/Y branches -- $ git remote add freebsd-legacy https://github.com/freebsd/freebsd-legacy.git $ git fetch --all $ git merge freebsd-legacy/stable/X (to get to the legacy hashes from below) $ git merge -s ours --allow-unrelated-histories <new-hash-from-below> (this is guaranteed conflict free) $ git merge origin/stable/X PLEASE NOTE: You'll end up with twice the history and git log output will show old history twice and will likely confuse you. Please make an effort to migrate your work over to a fresh branch based off of main. A git replace --graft can be used to at least patch up git log output. -- Rebase your work -- Only for folks that always rebase their local work on top of an origin branch. $ git remote add freebsd-legacy https://github.com/freebsd/freebsd-legacy.git $ git fetch --all $ git branch -u freebsd-legacy/master $ git rebase --onto origin/main <your_rebased_work_branch> -- Old to new hash mappings -- BRANCH LEGACY HASH NEW HASH master / main 9e4440c 3cc0c0d stable/10 10f4a6c 3ad46d0 stable/11 a76e2a3 46062cb stable/12 f262e04 f4d0bc6 releng/10.0 fcf0364 0099f6f releng/10.1 a5b8a0c a9b4be2 releng/10.2 14e67f3 2a34883 releng/10.3 57fbb64 8411c9a releng/10.4 976886d d869f4a releng/11.0 bc72ed6 8d2708d releng/11.1 d3b778b 3e9337c releng/11.2 24e8638 c0d2bc3 releng/11.3 b43bbc1 9e63140 releng/11.4 9332e02 4adbf1f releng/12.0 58cdccd 12b769e releng/12.1 c522014 e30782b releng/12.2 30ef47e 2120d07 -- Again, we're sorry for the inconvenience, please reach out via GitHub issues and the mailing list to get further help in transplanting your work onto the one true, canonical, source of truth. Good luck in 2021! Ulrich Spörlein, on behalf of the FreeBSD Git working group.
- Loading branch information