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

James Y Knight via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 27 08:06:37 PDT 2016


Two problems:
1) Submodules have some UX problems for developers around updating the
parent project and its effects on the submodule which make them annoying to
use.
2) I find the advantage you claim especially scary and bad. Put another
way: if a developer *doesn't* make a commit to clang with the new submodule
pointer, clang will not actually start using the new version of LLVM until
someone gets around to updating the pointer. Meaning, the next time anyone
*ELSE* goes to update the submodule pointer in clang, they would have to,
effectively, integrate all of the as-yet-untested-with-clang changes from
llvm, and fix any problems that might cause. I really don't think we want
that.

What I do think would be nice is a way to associate commits to llvm and
commits to clang as one unit that updates a parent repository. I've
mentioned before that gerrit seems to have that functionality.

I think it'd be a great idea to do some testing, and make a second proposal
centered around using Gerrit to manage commits to the github repository,
versus committing to github directly. I'm not sure if I'll have time to do
that properly, though.


On Mon, Jun 27, 2016 at 10:39 AM, Rafael EspĂ­ndola <cfe-dev at lists.llvm.org>
wrote:

> >> As for updating the meta repository: We could disable write access for
> the normal llvm developer and delegate the submodule bumping to an external
> >> server. I believe this would be an easy enough job for buildbot or
> jenkins.
> >
> > The plan is to disable all write access to this repository (otherwise
> > we'll create a nightmare). Having an external counter could be
> > problematic due to synchronisation issues.
> >
> > If the hook doesn't work, we'll have serious problems.
>
> So, I probably missed something, but what was the main objection to
> just using submodules? This would put llvm inside clang instead of the
> other way around. When changing an API one currently has to
>
> * Change llvm.
> * Quickly change clang and hope no bot picks up a revision with only
> the llvm change.
>
> With submodules it becomes
>
> * Change llvm.
> * Change clang and in the same atomic commit change what revision the
> submodule points to.
>
>
> Cheers,
> Rafael
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160627/aa83e3ed/attachment.html>


More information about the llvm-dev mailing list