[LLVMdev] Howdy + GIT

Joshua Cranmer 🐧 Pidgeot18 at gmail.com
Thu Jan 15 14:46:23 PST 2015


On 1/15/2015 12:13 PM, Reid Spencer wrote:
> Hello LLVMers,
>
> It has been a while (8 years?) since I’ve been involved with LLVM but 
> I’m considering picking it up again. My recent review of the code base 
> has led me to wonder if it isn’t time to update the code base, 
> specifically:
>
>   * Convert to GIT
>   * Refactor into smaller, separate, reusable libraries
>   * Host the master repository at GitHub (amongst other places)
>

It's not clear from your suggestion if you are or are not planning on 
breaking the repositories into smaller chunks (e.g., how the llvm and 
clang repositories are hosted as separate git modules). If this is 
indeed what you are suggesting, then the following paragraph applies:

Losing atomicity of commits in a project is a pain that you do not want 
to have to suffer, speaking as a maintainer of project which is 
bifurcated in two distinct repositories for the past 6 years. SVN allows 
you to do partial tree checkouts, a feature which is to my knowledge not 
replicated by any major DVCS. You thus get the choice between having one 
monolithic repository for all projects, or making do with non-atomic 
commits, and that last option is not viable given the coupling between 
llvm, clang, and compiler-rt at the very least. Separating them would 
subject developers to the worst kind of development hell that can only 
be accurately conveyed to those who have had the misfortune to be 
sentenced there. Or to those who recall CVS or other abominations of 
version control. :-)


Beyond that, though, my impression of GitHub is that it encourages 
development models and processes which do not scale to large projects, 
which llvm undoubtedly is. Its issue tracking system is underpowered, 
its reviewer underwhelming, and you're prone to lose important 
information if you, say, rebase pull requests (at least the last time I 
checked). It's designed to encourage its particular development model, 
and if you want anything that's different (say, linear history), well, 
you have to fight it all the way.

> Sorry if this topic has been covered .. the archives are not 
> searchable (google group, anyone?).

GMane: 
<http://search.gmane.org/?query=github&group=gmane.comp.compilers.llvm.devel>. 
Which is infinitely better than Google Groups.

-- 
Joshua Cranmer
Thunderbird and DXR developer
Source code archæologist


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150115/1ad855ff/attachment.html>


More information about the llvm-dev mailing list