[llvm-dev] [RFC] One or many git repositories?

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 26 04:21:57 PDT 2016

On 26 July 2016 at 12:08, Simon Taylor <simontaylor1 at ntlworld.com> wrote:
> My understanding is that currently the official repos are in SVN but are separate for each project.
> That situation could of course be recreated exactly with git.
> The downside is that some of the projects have cross-dependencies (clang rev x will only work with llvm rev y) and I don’t believe these cross-repository dependencies are currently stored anywhere.
> If my understanding is mistaken, then apologies, I don’t do any day-to-day work with LLVM.

You are. :)

The SVN repos are version-locked, so three commits to llvm, clang and
llvm again would be:

llvm: 123
clang: 124
llvm: 125

Git can't do that, at the moment, without being on the same repo, or
using sub-modules.

> With a monorepo upstream it would still be possible to maintain read-only views of parts of the repository (ie individual projects) by projecting commits from the monorepo.

Neither sub-modules nor monolithic would allow a read-only llvm-only
git repository to be synchronised with clang without some external
meta data (ie. going back to the original repo).

Even in GitHub's own SVN view, the "revision" number on each RO repo
would be internally sequential, but not externally consistent.


More information about the llvm-dev mailing list