[llvm-dev] Git Move: GitHub+modules proposal

James Y Knight via llvm-dev llvm-dev at lists.llvm.org
Wed Jun 29 09:28:31 PDT 2016

On Mon, Jun 27, 2016 at 12:13 PM, Renato Golin via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> On 27 June 2016 at 17:03, Rafael EspĂ­ndola <rafael.espindola at gmail.com>
> wrote:
> > I think that trying to create a ordering/rev number between independent
> git
> > repositories is fundamentally unreliable.
> >
> > If we want to keep llvm and clang in lock step we should probably
> probably
> > just have them in the same repository like
> > https://github.com/llvm-project/llvm-project.
> That is similar to the proposal we have, except that llvm-projects
> will have sub-modules.
> Having all of them in the same physical repository is a big problems
> for those that only use a small subset of the components, which is the
> vast majority of users, most of the time (all buildbots, Jenkins,
> local development, downstream users, even releases don't clone all
> repos).

(This is kinda a sidenote, because it doesn't actually change the
problem-space at all, but.... :)

I really disagree that it'd cause big problems to merge them all.
Especially when using git, which makes it a lot easier to keep a local
shared copy of the repository, so you don't need to re-download the whole
world every time you want a clean checkout. The entire set of llvm code,
all put together, is really just not that big in the end. But I do find it
annoying to have the many different repositories to track, and I don't
really see the value of having as many as we do.

However, even without big problems, it does make some sense to keep the
C/C++ language separate from the (mostly-)language-independent llvm
backend. There are a multitude of other frontends which use LLVM too: go,
swift, rust, etc. Would we really want to pull in all of those into a
single repo, as well, if they happened to get contributed to the llvm
project organization? Probably not.

So, while this wouldn't affect the need for a "llvm-project" repository, it
might be nice to consider merging some of the other ones together....

llvm: Core language-independent functionality: LLVM, assembler, and linker
tools. (merge in lld, and maybe compiler-rt, to the llvm repository).
clang: C/C++ frontend and related libraries (merge in clang-tools-extra,
libcxx, and libcxxabi into the clang repository).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160629/b85d8ff8/attachment.html>

More information about the llvm-dev mailing list