On Jul 20, 2011, at 11:47 AM, Jakob Stoklund Olesen wrote:>>> If you can work with Jeffrey to come up with better instructions, that would be great. >>> >>> Just make sure they are newbie-proof. >> >> Wouldn't it be easier at some point to move llvm.org to git? > > Definitely.I think that I'm the one who previously strongly objected to doing so. I now remove my objections, I think that git has both matured enough and has succeeded in "winning" the distributed VCS war. -Chris
On Wed, Jul 20, 2011 at 9:32 PM, Chris Lattner <clattner at apple.com> wrote:> On Jul 20, 2011, at 11:47 AM, Jakob Stoklund Olesen wrote: > > >>> If you can work with Jeffrey to come up with better instructions, that > would be great. > >>> > >>> Just make sure they are newbie-proof. > >> > >> Wouldn't it be easier at some point to move llvm.org to git? > > > > Definitely. > > I think that I'm the one who previously strongly objected to doing so. I > now remove my objections, I think that git has both matured enough and has > succeeded in "winning" the distributed VCS war. >Based on this comment, and some conversations on the IRC channel, I'd like to offer to work on such a conversion. I think there are a lot of sticky details to work out, but I think it will be very positive move. I'm going to start working on a rough plan for how to do the conversion, and what the final system should look like. Any key things people want to see in it? Any key concerns? As soon as I have something written up I'll post it here. Key things I'm currently thinking about after a brief brainstorm: - Post-commit triggers need to be ported and kept useful - Special attention to ensure that the existing code review / commit email system continues to be effective - Provide individual git repositories for each LLVM project, along with meta repositories that use submodules to layout common development trees (e.g. Clang in tools/clang) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110720/2477965b/attachment.html>
> - Post-commit triggers need to be ported and kept useful > - Special attention to ensure that the existing code review / commit email > system continues to be effectiveAs an aside: Would it be possible/practical for the PR/bug numbers to be written in a consistent format in checkin descriptions such that the commit email machinery hyperlinks to the actual bug, perhaps? (I haven't looked at the bug tracking system in detail - I hope it gets some kind of link to details about which checkin/revision number fixes a bug, too. So that you can go from revisions/checkins to bugs and bugs to revisions again)
On 07/21/2011 07:46 AM, Chandler Carruth wrote:> On Wed, Jul 20, 2011 at 9:32 PM, Chris Lattner <clattner at apple.com > <mailto:clattner at apple.com>> wrote: > > On Jul 20, 2011, at 11:47 AM, Jakob Stoklund Olesen wrote: > > >>> If you can work with Jeffrey to come up with better > instructions, that would be great. > >>> > >>> Just make sure they are newbie-proof. > >> > >> Wouldn't it be easier at some point to move llvm.org > <http://llvm.org> to git? > > > > Definitely. > > I think that I'm the one who previously strongly objected to doing > so. I now remove my objections, I think that git has both matured > enough and has succeeded in "winning" the distributed VCS war. > > > Based on this comment, and some conversations on the IRC channel, I'd > like to offer to work on such a conversion. I think there are a lot of > sticky details to work out, but I think it will be very positive move. > I'm going to start working on a rough plan for how to do the conversion, > and what the final system should look like. > > Any key things people want to see in it? Any key concerns? As soon as I > have something written up I'll post it here. > > Key things I'm currently thinking about after a brief brainstorm: > - Post-commit triggers need to be ported and kept useful > - Special attention to ensure that the existing code review / commit > email system continues to be effective > - Provide individual git repositories for each LLVM project, along with > meta repositories that use submodules to layout common development trees > (e.g. Clang in tools/clang)- Keep the buildbot machinery working. - Add a Webinterface like cgit or gitweb. Cheers Tobi P.S. Let me know if you need any help Cheers Tobi
Hi Chandler> Key things I'm currently thinking about after a brief brainstorm: > - Post-commit triggers need to be ported and kept useful > - Special attention to ensure that the existing code review / commit email > system continues to be effective > - Provide individual git repositories for each LLVM project, along with meta > repositories that use submodules to layout common development trees (e.g. > Clang in tools/clang)One more inportant things: the policy of tagging / branching in the main repo. As you might seen, right now the stuff is not pretty much git'ish in the svn repository, so duiring mirroring the tricky part was to ignore "almost everything, but no too much". -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University
On Wed, Jul 20, 2011 at 09:32:03PM -0700, Chris Lattner wrote:> On Jul 20, 2011, at 11:47 AM, Jakob Stoklund Olesen wrote: > > >>> If you can work with Jeffrey to come up with better instructions, that would be great. > >>> > >>> Just make sure they are newbie-proof. > >> > >> Wouldn't it be easier at some point to move llvm.org to git? > > > > Definitely. > > I think that I'm the one who previously strongly objected to doing so. > I now remove my objections, I think that git has both matured enough > and has succeeded in "winning" the distributed VCS war.There is still the major regression with unreadable version numbers. Given the amount of Bugzilla traffic with "Fixed in...", that's a non-trivial issue. Joerg
> I think that I'm the one who previously strongly objected to doing > so. I now remove my objections, I think that git has both matured > enough and has succeeded in "winning" the distributed VCS war. > > > Based on this comment, and some conversations on the IRC channel, I'd > like to offer to work on such a conversion. I think there are a lot of > sticky details to work out, but I think it will be very positive move. > I'm going to start working on a rough plan for how to do the conversion, > and what the final system should look like.Probably a tasteless suggestion, but... google code supports git now and it works great. (hides)
On 21 July 2011 11:50, Joerg Sonnenberger <joerg at britannica.bec.de> wrote:> There is still the major regression with unreadable version numbers. > Given the amount of Bugzilla traffic with "Fixed in...", that's a > non-trivial issue.LLVM is far from the first project to switch from SVN to git. How have others handled this issue? Alex
On 07/21/2011 12:50 PM, Joerg Sonnenberger wrote:> On Wed, Jul 20, 2011 at 09:32:03PM -0700, Chris Lattner wrote: >> On Jul 20, 2011, at 11:47 AM, Jakob Stoklund Olesen wrote: >> >>>>> If you can work with Jeffrey to come up with better instructions, that would be great. >>>>> >>>>> Just make sure they are newbie-proof. >>>> >>>> Wouldn't it be easier at some point to move llvm.org to git? >>> >>> Definitely. >> >> I think that I'm the one who previously strongly objected to doing so. >> I now remove my objections, I think that git has both matured enough >> and has succeeded in "winning" the distributed VCS war. > > There is still the major regression with unreadable version numbers. > Given the amount of Bugzilla traffic with "Fixed in...", that's a > non-trivial issue.What about solving this with a post receive hook? As soon as a commit contains something like "Bug 1222" the relevant git commit is automatically added to Bugzilla and a link to the git web repository is added. We may even improve this, by automatically closing bug reports if we have "Fixes #1222" or something. I also personally just copy/past the revision numbers, so I do not really care how long they are. Even with 6 digits copy/paste is for me faster, than remembering them and retyping them. Cheers Tobi
On 21 July 2011 11:50, Joerg Sonnenberger <joerg at britannica.bec.de> wrote:> There is still the major regression with unreadable version numbers. > Given the amount of Bugzilla traffic with "Fixed in...", that's a > non-trivial issue.I wouldn't call that a major regression. For informal use you can quote 8 hex digits of the git commit name, which isn't *much* worse than a 6 digit decimal number. For more rigour, you can use a link to the llvm-commits message in the archive (people already frequently do this) or to the vcs-web interface. Jay.
Good evening, Chris and guys! IMHO, we would not need to turn toward Git so early. Subversion's "linear and numbered" revisions would be meaningful in common cases yet. Anyway, it must be happier if we could work with Git, too. May I propose; - "Official" repositories, for committers to push their commits via ssh public key. - Buildbots for committers to check their branches before they would commit to trunk(master). (I am planning to arrange such a "try" buildbots personally. As guys know, Git (git-svn) would be essential for developer who has many tweaks and improvements. (for git newbies, ask google "git topic branch") and who has some platforms to check on his changes. It must be happier if developers could work together on branches easily. Cons. Git is not aware of LF/CRLF. Windows and DOS developers shall be required to LF-tolerant (and they should not push unnecessary CRLF files any more) Happy hacking guys! ...Takumi
On Wed, Jul 20, 2011 at 10:46 PM, Chandler Carruth <chandlerc at google.com> wrote:> On Wed, Jul 20, 2011 at 9:32 PM, Chris Lattner <clattner at apple.com> wrote: >> >> On Jul 20, 2011, at 11:47 AM, Jakob Stoklund Olesen wrote: >> >> >>> If you can work with Jeffrey to come up with better instructions, that >> >>> would be great. >> >>> >> >>> Just make sure they are newbie-proof. >> >> >> >> Wouldn't it be easier at some point to move llvm.org to git? >> > >> > Definitely. >> >> I think that I'm the one who previously strongly objected to doing so. I >> now remove my objections, I think that git has both matured enough and has >> succeeded in "winning" the distributed VCS war. > > Based on this comment, and some conversations on the IRC channel, I'd like > to offer to work on such a conversion. I think there are a lot of sticky > details to work out, but I think it will be very positive move. I'm going to > start working on a rough plan for how to do the conversion, and what the > final system should look like. > Any key things people want to see in it? Any key concerns? As soon as I have > something written up I'll post it here. > Key things I'm currently thinking about after a brief brainstorm: > - Post-commit triggers need to be ported and kept useful > - Special attention to ensure that the existing code review / commit email > system continues to be effective > - Provide individual git repositories for each LLVM project, along with meta > repositories that use submodules to layout common development trees (e.g. > Clang in tools/clang)This may be included in your second bullet, but we probably want a style guide of some sort for how to present changes when they're committed to the main repository. Should every commit pass tests, or is it ok to have 1 line per commit? Should we create a merge commit with --no-ff to cap a series of changes and describe the feature? Do we want to try to keep the main repo's history mostly linear with local rebases or are lots of merges ok? Are there tools to help enforce whatever style people want? Jeffrey
Chris Lattner <clattner at apple.com> writes:>>> Wouldn't it be easier at some point to move llvm.org to git? >> >> Definitely. > > I think that I'm the one who previously strongly objected to doing so. > I now remove my objections, I think that git has both matured enough > and has succeeded in "winning" the distributed VCS war.This is *really* fantastic. It will simplify the way we all work with the upstream repository. Kudos, Chris! -Dave
Chandler Carruth <chandlerc at google.com> writes:> Based on this comment, and some conversations on the IRC channel, I'd > like to offer to work on such a conversion.Thanks Chandler!> Any key things people want to see in it? Any key concerns? As soon as I have something written up I'll post it here.Yes. DO NOT use submodules. I've been experimenting with them and they are horrible. Instead, I would like to see, in addition to each of the current svn repositories converted to git, an "ecosystem" repository put together via git-subtree. https://github.com/apenwarr/git-subtree/ http://psionides.eu/2010/02/04/sharing-code-between-projects-with-git-subtree/ http://h2ik.co/2011/03/having-fun-with-git-subtree/ I put together such a tree using the existing git mirrors that looks like this: top-level (a git repository unto itself) README (some general directions) llvm (subtree) tools clang (subtree) dragonegg (subtree) gcc (subtree of upstream FSF) I would add test-suite in there once it's available via git. We don't need the ecosystem tree right away. Better to convert each repository by itself first. We can always build the ecosystem tree later. I've got some formulas for working with git subtree and LLVM that have turned out to work pretty well. I can post a tutorial once things settle down.> - Provide individual git repositories for each LLVM project, along > with meta repositories that use submodules to layout common > development trees (e.g. Clang in tools/clang)I agree with the individual repositories approach. As I said, I would *strongly* suggest using git-subtree for this. git-submodule is very unintuitive, to the point where I would not even bother using such a repository. I would build my own using git-subtree. -Dave