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

Daniel Sanders via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 26 06:13:15 PDT 2016

> -----Original Message-----
> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of
> Renato Golin via llvm-dev
> Sent: 26 July 2016 12:22
> To: Simon Taylor
> Cc: llvm-dev at lists.llvm.org; Richard Smith
> Subject: Re: [llvm-dev] [RFC] One or many git repositories?
> 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.

I think there's some confusion caused by fuzzy terminology here. If I
understand Simon correctly, he's saying that we have multiple subversion
repositories.  In your reply, you also talk about multiple subversion
repositories. However, there's only one subversion repository in our setup
(called 'llvm-project'). The projects are 'version-locked' because they are
all housed in the same repository. Our concept of 'project' is just a convention
within our svn repository in the same way that branches and tags are.

> > 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.
> cheers,
> --renato
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

More information about the llvm-dev mailing list