FYI - LLVM migration to Git and GitHub has started

Warner Losh imp at
Fri Nov 15 00:20:18 UTC 2019

On Thu, Nov 14, 2019 at 12:39 PM Xin LI <delphij at> wrote:

> 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).

Do you have the results of this published somewhere?

In looking into submodules, I couldn't figure out how to layer changes on
top of the submodule in any way that was approaching sane... If we used the
code verbatim, as is in the upstream repo, it might be OK, but it looks
like it's intended to solve different problems than our 'vendor branch'


More information about the freebsd-git mailing list