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

Mehdi Amini via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 26 09:34:09 PDT 2016

> On Jul 26, 2016, at 2:09 AM, Simon Taylor via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> Hi Duncan,
>> […]
>> 2. Those working on projects *outside* the monolithic repo will get the downsides of both: a monolithic repo that they are only using parts of, and multiple repos that are somehow version-locked.
>> 3. For many (most?) developers, changing to a monolithic git repo is a *bigger* workflow change than switching to separate git repos. Many people (and at least some downstream infrastructure) use the git mirrors exclusively, aside from git-svn for committing.
> I believe the idea is to continue to maintain the read-only independent git repos for each project. The only change is instead of sourcing those commits from the official upstream(independent) svn repos, they will be sourced from the official upstream monorepo.
> Thus downstream developers can continue to use the read-only view of the independent projects if that is easier for them; but people hacking on llvm/clang itself get the benefits of easier checkout, patching, bisection, atomic commits between projects, etc that come from using a monorepo as the official repository.

It is true that downstream should be able continue to work easily based of these official independent *git* repos ( i.e.: http://llvm.org/git/llvm.git <http://llvm.org/git/llvm.git> will continue to exist and be updated without changing its history). 
However for individual developers that are continuously upstreaming their work it does not seem sustainable, how do you pull from the individual repos, do you work, commit as today, and push upstream? Today it is possible with git-svn, while with the monorepo it won’t be possible.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160726/6b5cf3d4/attachment.html>

More information about the llvm-dev mailing list