{"thread":{"id":"23699","subject":"newbie: need concrete examples for how the linux-kernel project uses git","startedAt":"2010-05-04T21:31:21Z","lastAt":"2010-05-05T03:36:50Z","messageCount":5,"participants":["Robert Buck","Jeff King","Jonathan Nieder","Lin Mac"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"140940","messageId":"m2i408104421005041431l6c8b5845ld57720c2127fbb00@mail.gmail.com","threadId":"23699","inReplyTo":null,"subject":"newbie: need concrete examples for how the linux-kernel project uses git","fromName":"Robert Buck","fromEmail":"buck.robert.j@gmail.com","sentAt":"2010-05-04T21:31:21Z","receivedAt":"2010-05-04T21:31:21Z","isPatch":false,"sender":{"key":"buck.robert.j@gmail.com","avatar":"https://gravatar.com/avatar/1686742e8ac2595378aac67f26fd638ddaf494194f9af0cb6082c4a7eca1a366?d=mp&s=160"},"body":"Hello,\n\nWe're looking at Git at our company, and in the first phase of testing\nGit passed the technical criteria with flying colors, and did much\nbetter than Hg. We've entered the second phase of testing where I need\nto basically try out the typical work flows in Git.\n\nWe have multiple teams, lots of developers, and would like to use a\nvariant of the dictator-lieutenant scheme discussed in published\nsubject matter.\n\nHowever, I find it rather challenging finding any subject matter that\nprovides reasonable detail. What I'd like to find are concrete\nexamples, step-by-step, of specifically how to:\n\n* set up each public repository: mainline, integration, maintainers, feature\n - with enough detail showing how to set up remotes, branches for\neach, shared or not, ...\n\n* perform the daily function for role, dictator, lieutenant, maintainer\n - with specific detail about the typical commands used each day\n\nSurely someone must have documented this somewhere, or perhaps\nscripted it up in some shell scripts which would be even better?\n\nI have spent multiple days on this already, and given that I am a\nnovice at Git, though not with source control systems, if I could\nobtain some concrete examples, this would accelerate the evaluation\nquite a bit, and it would help me decipher the mounds of documentation\nwith the few more concrete examples.\n\nI'd like to present the details and results to our development\norganization next week, and be able to speak about some flows I\nactually tried out myself.\n\nBy the way, Git, love it! Way cool guys.\n\nA puzzled newbie,\n\nBob\n"},{"id":"140953","messageId":"20100505010933.GD25390@coredump.intra.peff.net","threadId":"23699","inReplyTo":"m2i408104421005041431l6c8b5845ld57720c2127fbb00@mail.gmail.com","subject":"Re: newbie: need concrete examples for how the linux-kernel project uses git","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2010-05-05T01:09:33Z","receivedAt":"2010-05-05T01:09:33Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Tue, May 04, 2010 at 05:31:21PM -0400, Robert Buck wrote:\n\n> However, I find it rather challenging finding any subject matter that\n> provides reasonable detail. What I'd like to find are concrete\n> examples, step-by-step, of specifically how to:\n\nThis is not quite what you're asking for, but you may find the following\nhelpful:\n\n  An overview of some workflows.\n  http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html\n\n  A description of the maintainer workflow for git itself:\n  http://www.kernel.org/pub/software/scm/git/docs/howto/maintain-git.txt\n\n-Peff\n"},{"id":"140954","messageId":"20100505011045.GA16345@progeny.tock","threadId":"23699","inReplyTo":"m2i408104421005041431l6c8b5845ld57720c2127fbb00@mail.gmail.com","subject":"Re: newbie: need concrete examples for how the linux-kernel project uses git","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-05-05T01:10:46Z","receivedAt":"2010-05-05T01:10:46Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi Robert,\n\nRobert Buck wrote:\n\n> We have multiple teams, lots of developers, and would like to use a\n> variant of the dictator-lieutenant scheme discussed in published\n> subject matter.\n> \n> However, I find it rather challenging finding any subject matter that\n> provides reasonable detail.\n\nProbably you have run into these already.  But for reference...\n\nTo be a maintainer:\n\n - the gitworkflows(7) page[1]\n\nThe kernel does not follow all of these practices, but maybe similar\nprojects could benefit from some. :)\n\nTo be a “leaf” contributor (does not require git):\n\n - the Linux wireless git guide[2]\n - submitting patches to linux-wireless.git[3]\n - guide to tip.git (Linux’s x86 architecture support subsystem) [4]\n\nTo build a throw-away integration branch:\n\n - Stephen Rothwell’s linux-next tree[5]\n\nTo be, well, anyone:\n\n - “everyday git in 20 commands or so” [6]\n\nPatch flow:\n\n - for Linux wireless [7]\n - for git [8]\n\nSeparate “internal use” and “public” trees:\n\n - nouveau/linux-2.6 [9]\n\n> What I'd like to find are concrete\n> examples, step-by-step, of specifically how to:\n\nIf you find these, information for each about\n\n - where you expected to find it\n - where you actually found it\n - how helpful that information was\n\nwould be very useful.  It would be nice to be able to update “everyday git”,\nthe user manual, the reference manual pages, and other documents to make\nthis sort of question easier to answer.\n\nHope that helps,\nJonathan\n\n[1] http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html\n[2] http://wireless.kernel.org/en/developers/Documentation/git-guide\n[3] http://wireless.kernel.org/en/developers/Documentation/SubmittingPatches\n[4] http://people.redhat.com/mingo/tip.git/readme.txt\n[5] http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=Next\n[6] http://www.kernel.org/pub/software/scm/git/docs/everyday.html\n[7] http://wireless.kernel.org/en/developers/process\n[8] https://git.wiki.kernel.org/index.php/MaintNotes\n[9] http://lists.freedesktop.org/archives/nouveau/2009-March/002765.html\nhttp://cgit.freedesktop.org/nouveau/linux-2.6/\n‘git rebase’ is the main tool here.\n"},{"id":"140955","messageId":"k2l408104421005041911t32652fb7ie9618a301d998983@mail.gmail.com","threadId":"23699","inReplyTo":"20100505011045.GA16345@progeny.tock","subject":"Re: newbie: need concrete examples for how the linux-kernel project uses git","fromName":"Robert Buck","fromEmail":"buck.robert.j@gmail.com","sentAt":"2010-05-05T02:11:03Z","receivedAt":"2010-05-05T02:11:03Z","isPatch":false,"sender":{"key":"buck.robert.j@gmail.com","avatar":"https://gravatar.com/avatar/1686742e8ac2595378aac67f26fd638ddaf494194f9af0cb6082c4a7eca1a366?d=mp&s=160"},"body":"Wow, this is really great folks. Let me look at these links again.\n\nGreat stuff. Thank you,\n\n-Bob\n\nOn Tue, May 4, 2010 at 9:10 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:\n> Hi Robert,\n>\n> Robert Buck wrote:\n>\n>> We have multiple teams, lots of developers, and would like to use a\n>> variant of the dictator-lieutenant scheme discussed in published\n>> subject matter.\n>>\n>> However, I find it rather challenging finding any subject matter that\n>> provides reasonable detail.\n>\n> Probably you have run into these already.  But for reference...\n>\n> To be a maintainer:\n>\n>  - the gitworkflows(7) page[1]\n>\n> The kernel does not follow all of these practices, but maybe similar\n> projects could benefit from some. :)\n>\n> To be a “leaf” contributor (does not require git):\n>\n>  - the Linux wireless git guide[2]\n>  - submitting patches to linux-wireless.git[3]\n>  - guide to tip.git (Linux’s x86 architecture support subsystem) [4]\n>\n> To build a throw-away integration branch:\n>\n>  - Stephen Rothwell’s linux-next tree[5]\n>\n> To be, well, anyone:\n>\n>  - “everyday git in 20 commands or so” [6]\n>\n> Patch flow:\n>\n>  - for Linux wireless [7]\n>  - for git [8]\n>\n> Separate “internal use” and “public” trees:\n>\n>  - nouveau/linux-2.6 [9]\n>\n>> What I'd like to find are concrete\n>> examples, step-by-step, of specifically how to:\n>\n> If you find these, information for each about\n>\n>  - where you expected to find it\n>  - where you actually found it\n>  - how helpful that information was\n>\n> would be very useful.  It would be nice to be able to update “everyday git”,\n> the user manual, the reference manual pages, and other documents to make\n> this sort of question easier to answer.\n>\n> Hope that helps,\n> Jonathan\n>\n> [1] http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html\n> [2] http://wireless.kernel.org/en/developers/Documentation/git-guide\n> [3] http://wireless.kernel.org/en/developers/Documentation/SubmittingPatches\n> [4] http://people.redhat.com/mingo/tip.git/readme.txt\n> [5] http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=Next\n> [6] http://www.kernel.org/pub/software/scm/git/docs/everyday.html\n> [7] http://wireless.kernel.org/en/developers/process\n> [8] https://git.wiki.kernel.org/index.php/MaintNotes\n> [9] http://lists.freedesktop.org/archives/nouveau/2009-March/002765.html\n> http://cgit.freedesktop.org/nouveau/linux-2.6/\n> ‘git rebase’ is the main tool here.\n>\n"},{"id":"140958","messageId":"g2u10d816431005042036hcc7a134ai7ded5b4ef3274bf7@mail.gmail.com","threadId":"23699","inReplyTo":"k2l408104421005041911t32652fb7ie9618a301d998983@mail.gmail.com","subject":"Re: newbie: need concrete examples for how the linux-kernel project uses git","fromName":"Lin Mac","fromEmail":"mkl0301@gmail.com","sentAt":"2010-05-05T03:36:50Z","receivedAt":"2010-05-05T03:36:50Z","isPatch":false,"sender":{"key":"mkl0301@gmail.com","avatar":null},"body":"Haven't read through all the stuff, sorry if it is already coverd or\nnot related.\nBut as a newbie, I found following, found on this list, quiet helpful.\n\nA successful Git branching model\nhttp://nvie.com/git-model\n\nBest Regards,\nMac Lin\n\n2010/5/5 Robert Buck <buck.robert.j@gmail.com>:\n> Wow, this is really great folks. Let me look at these links again.\n>\n> Great stuff. Thank you,\n>\n> -Bob\n>\n> On Tue, May 4, 2010 at 9:10 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:\n>> Hi Robert,\n>>\n>> Robert Buck wrote:\n>>\n>>> We have multiple teams, lots of developers, and would like to use a\n>>> variant of the dictator-lieutenant scheme discussed in published\n>>> subject matter.\n>>>\n>>> However, I find it rather challenging finding any subject matter that\n>>> provides reasonable detail.\n>>\n>> Probably you have run into these already.  But for reference...\n>>\n>> To be a maintainer:\n>>\n>>  - the gitworkflows(7) page[1]\n>>\n>> The kernel does not follow all of these practices, but maybe similar\n>> projects could benefit from some. :)\n>>\n>> To be a “leaf” contributor (does not require git):\n>>\n>>  - the Linux wireless git guide[2]\n>>  - submitting patches to linux-wireless.git[3]\n>>  - guide to tip.git (Linux’s x86 architecture support subsystem) [4]\n>>\n>> To build a throw-away integration branch:\n>>\n>>  - Stephen Rothwell’s linux-next tree[5]\n>>\n>> To be, well, anyone:\n>>\n>>  - “everyday git in 20 commands or so” [6]\n>>\n>> Patch flow:\n>>\n>>  - for Linux wireless [7]\n>>  - for git [8]\n>>\n>> Separate “internal use” and “public” trees:\n>>\n>>  - nouveau/linux-2.6 [9]\n>>\n>>> What I'd like to find are concrete\n>>> examples, step-by-step, of specifically how to:\n>>\n>> If you find these, information for each about\n>>\n>>  - where you expected to find it\n>>  - where you actually found it\n>>  - how helpful that information was\n>>\n>> would be very useful.  It would be nice to be able to update “everyday git”,\n>> the user manual, the reference manual pages, and other documents to make\n>> this sort of question easier to answer.\n>>\n>> Hope that helps,\n>> Jonathan\n>>\n>> [1] http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html\n>> [2] http://wireless.kernel.org/en/developers/Documentation/git-guide\n>> [3] http://wireless.kernel.org/en/developers/Documentation/SubmittingPatches\n>> [4] http://people.redhat.com/mingo/tip.git/readme.txt\n>> [5] http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=Next\n>> [6] http://www.kernel.org/pub/software/scm/git/docs/everyday.html\n>> [7] http://wireless.kernel.org/en/developers/process\n>> [8] https://git.wiki.kernel.org/index.php/MaintNotes\n>> [9] http://lists.freedesktop.org/archives/nouveau/2009-March/002765.html\n>> http://cgit.freedesktop.org/nouveau/linux-2.6/\n>> ‘git rebase’ is the main tool here.\n>>\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n>\n"}]}