Skip to content

Commit

Permalink
THIS BRANCH IS OBSOLETE, PLEASE READ:
Browse files Browse the repository at this point in the history
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
uqs committed Dec 30, 2020
2 parents 9e4440c + 3cc0c0d commit de1aa3d
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit de1aa3d

Please sign in to comment.