FYI - LLVM migration to Git and GitHub has started

Xin LI delphij at
Thu Nov 14 19:39:27 UTC 2019

On Wed, Nov 13, 2019 at 10:29 AM Warner Losh <imp at> wrote:

> Vendor branches break.

Speaking for this, I have took contrib/file as an opportunity to try out
how git merge works in FreeBSD's context (without using submodules).
Basically we would have the histories stashed into one
branch, and perform two merges.

The first one would "bootstrap" the history, by performing a git merge with
-s ours of the previously merged tag.  This would require some cleanups:
the upstream's CVS exporter was broken and some RCS IDs were not correctly
updated, so technically one would have to patch the contrib/file tree to
bring the git's vision of RCS IDs, then perform a merge -X subtree merge.

The second one would be the actual merge (-X subtree=contrib/file).  Future
imports would only need this merge.

If the upstream was not using git, these could be pushed to a different
branch to hold it (which is pretty much what we do in subversion in its
flattened namespace under vendor/foo/dist).

More information about the freebsd-git mailing list