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

Mehdi Amini via llvm-dev
2016-07-26T16:34:09Z

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

—
Mehdi

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