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

Justin Bogner via llvm-dev llvm-dev at lists.llvm.org
Thu Jul 21 00:19:10 PDT 2016

Sean Silva <chisophugis at gmail.com> writes:
> On Wed, Jul 20, 2016 at 11:51 PM, Sean Silva <chisophugis at gmail.com> wrote:
>> On Wed, Jul 20, 2016 at 6:26 PM, Justin Bogner via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>> Justin Lebar <jlebar at google.com> writes:
>>>> If all you want is to continue using git the way you use it now, the
>>>> multiple git repos gets you that (as does a sparse checkout on the
>>>> single repo). My point is that, the move to git opens up a new,
>>>> much more powerful workflow with branches that encompass both llvm
>>>> and clang state.  We can do this with or without submodules, but
>>>> using submodules for this is far more awkward than using a single
>>>> repo.
>>> If I do `git log` in a sparse checkout that just has LLVM, will it
>>> only show me LLVM commits? That is, how easy is it to filter out the
>>> clang/lldb/subproject-X commits from a log? Negative globs are kind
>>> of awkward.
>>  It is extremely easy (even with a full checkout): `git log llvm/`
> To be clear, this is with a layout like:
> https://github.com/llvm-project/llvm-project

Right - I was assuming a layout where the subprojects are already in the
places they need to be checked out to. With llvm-project's layout my
question is silly.

llvm-project's layout is kind of annoying, since with that I have to
check out all of the repos yet I still need to add symlinks or something
to actually use any of them. It also means that anyone who is only using
llvm has to change their paths from /path/to/llvm to /path/to/llvm/llvm,
which is a little bit ugly.

More information about the llvm-dev mailing list