threads / discuss / 23699

newbie: need concrete examples for how the linux-kernel project uses git

Subject: newbie: need concrete examples for how the linux-kernel project uses git

## tl;dr

5 messages between May 4, 2010 and May 5, 2010.

replies: 4people: 4as markdown or json

Robert Buck· May 4, 2010, 21:31 UTC · lore
Hello,

We're looking at Git at our company, and in the first phase of testing Git passed the technical criteria with flying colors, and did much better than Hg. We've entered the second phase of testing where I need to basically try out the typical work flows in Git.

We have multiple teams, lots of developers, and would like to use a variant of the dictator-lieutenant scheme discussed in published subject matter.

However, I find it rather challenging finding any subject matter that provides reasonable detail. What I'd like to find are concrete examples, step-by-step, of specifically how to:

* set up each public repository: mainline, integration, maintainers, feature
 - with enough detail showing how to set up remotes, branches for
each, shared or not, ...
* perform the daily function for role, dictator, lieutenant, maintainer
 - with specific detail about the typical commands used each day

Surely someone must have documented this somewhere, or perhaps scripted it up in some shell scripts which would be even better?

I have spent multiple days on this already, and given that I am a novice at Git, though not with source control systems, if I could obtain some concrete examples, this would accelerate the evaluation quite a bit, and it would help me decipher the mounds of documentation with the few more concrete examples.

I'd like to present the details and results to our development organization next week, and be able to speak about some flows I actually tried out myself.

By the way, Git, love it! Way cool guys.
A puzzled newbie,
Bob
Jeff King· May 5, 2010, 01:09 UTC · re: Robert Buck · lore

Re: newbie: need concrete examples for how the linux-kernel project uses git

On Tue, May 04, 2010 at 05:31:21PM -0400, Robert Buck wrote:
> However, I find it rather challenging finding any subject matter that
> provides reasonable detail. What I'd like to find are concrete
> examples, step-by-step, of specifically how to:

This is not quite what you're asking for, but you may find the following helpful:

  An overview of some workflows.
  http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html
  A description of the maintainer workflow for git itself:
  http://www.kernel.org/pub/software/scm/git/docs/howto/maintain-git.txt
-Peff
Jonathan Nieder· May 5, 2010, 01:10 UTC · re: Robert Buck · lore

Re: newbie: need concrete examples for how the linux-kernel project uses git

Hi Robert,
Robert Buck wrote:
Show 6 quoted lines
> We have multiple teams, lots of developers, and would like to use a
> variant of the dictator-lieutenant scheme discussed in published
> subject matter.
> 
> However, I find it rather challenging finding any subject matter that
> provides reasonable detail.
Probably you have run into these already.  But for reference...
To be a maintainer:
 - the gitworkflows(7) page[1]

The kernel does not follow all of these practices, but maybe similar projects could benefit from some. :)

To be a “leaf” contributor (does not require git):
 - the Linux wireless git guide[2]
 - submitting patches to linux-wireless.git[3]
 - guide to tip.git (Linux’s x86 architecture support subsystem) [4]
To build a throw-away integration branch:
 - Stephen Rothwell’s linux-next tree[5]
To be, well, anyone:
 - “everyday git in 20 commands or so” [6]
Patch flow:
 - for Linux wireless [7]
 - for git [8]
Separate “internal use” and “public” trees:
 - nouveau/linux-2.6 [9]
> What I'd like to find are concrete
> examples, step-by-step, of specifically how to:
If you find these, information for each about
 - where you expected to find it
 - where you actually found it
 - how helpful that information was

would be very useful. It would be nice to be able to update “everyday git”, the user manual, the reference manual pages, and other documents to make this sort of question easier to answer.

Hope that helps, Jonathan

[1] http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html [2] http://wireless.kernel.org/en/developers/Documentation/git-guide [3] http://wireless.kernel.org/en/developers/Documentation/SubmittingPatches [4] http://people.redhat.com/mingo/tip.git/readme.txt [5] http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=Next [6] http://www.kernel.org/pub/software/scm/git/docs/everyday.html [7] http://wireless.kernel.org/en/developers/process [8] https://git.wiki.kernel.org/index.php/MaintNotes [9] http://lists.freedesktop.org/archives/nouveau/2009-March/002765.html http://cgit.freedesktop.org/nouveau/linux-2.6/ ‘git rebase’ is the main tool here.

Robert Buck· May 5, 2010, 02:11 UTC · re: Jonathan Nieder · lore

Re: newbie: need concrete examples for how the linux-kernel project uses git

Wow, this is really great folks. Let me look at these links again.
Great stuff. Thank you,
-Bob
On Tue, May 4, 2010 at 9:10 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 71 quoted lines
> Hi Robert,
>
> Robert Buck wrote:
>
>> We have multiple teams, lots of developers, and would like to use a
>> variant of the dictator-lieutenant scheme discussed in published
>> subject matter.
>>
>> However, I find it rather challenging finding any subject matter that
>> provides reasonable detail.
>
> Probably you have run into these already.  But for reference...
>
> To be a maintainer:
>
>  - the gitworkflows(7) page[1]
>
> The kernel does not follow all of these practices, but maybe similar
> projects could benefit from some. :)
>
> To be a “leaf” contributor (does not require git):
>
>  - the Linux wireless git guide[2]
>  - submitting patches to linux-wireless.git[3]
>  - guide to tip.git (Linux’s x86 architecture support subsystem) [4]
>
> To build a throw-away integration branch:
>
>  - Stephen Rothwell’s linux-next tree[5]
>
> To be, well, anyone:
>
>  - “everyday git in 20 commands or so” [6]
>
> Patch flow:
>
>  - for Linux wireless [7]
>  - for git [8]
>
> Separate “internal use” and “public” trees:
>
>  - nouveau/linux-2.6 [9]
>
>> What I'd like to find are concrete
>> examples, step-by-step, of specifically how to:
>
> If you find these, information for each about
>
>  - where you expected to find it
>  - where you actually found it
>  - how helpful that information was
>
> would be very useful.  It would be nice to be able to update “everyday git”,
> the user manual, the reference manual pages, and other documents to make
> this sort of question easier to answer.
>
> Hope that helps,
> Jonathan
>
> [1] http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html
> [2] http://wireless.kernel.org/en/developers/Documentation/git-guide
> [3] http://wireless.kernel.org/en/developers/Documentation/SubmittingPatches
> [4] http://people.redhat.com/mingo/tip.git/readme.txt
> [5] http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=Next
> [6] http://www.kernel.org/pub/software/scm/git/docs/everyday.html
> [7] http://wireless.kernel.org/en/developers/process
> [8] https://git.wiki.kernel.org/index.php/MaintNotes
> [9] http://lists.freedesktop.org/archives/nouveau/2009-March/002765.html
> http://cgit.freedesktop.org/nouveau/linux-2.6/
> ‘git rebase’ is the main tool here.
>
Lin Mac· May 5, 2010, 03:36 UTC · re: Robert Buck · lore

Re: newbie: need concrete examples for how the linux-kernel project uses git

Haven't read through all the stuff, sorry if it is already coverd or not related. But as a newbie, I found following, found on this list, quiet helpful.

A successful Git branching model http://nvie.com/git-model

Best Regards, Mac Lin

2010/5/5 Robert Buck <buck.robert.j@gmail.com>:
Show 83 quoted lines
> Wow, this is really great folks. Let me look at these links again.
>
> Great stuff. Thank you,
>
> -Bob
>
> On Tue, May 4, 2010 at 9:10 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
>> Hi Robert,
>>
>> Robert Buck wrote:
>>
>>> We have multiple teams, lots of developers, and would like to use a
>>> variant of the dictator-lieutenant scheme discussed in published
>>> subject matter.
>>>
>>> However, I find it rather challenging finding any subject matter that
>>> provides reasonable detail.
>>
>> Probably you have run into these already.  But for reference...
>>
>> To be a maintainer:
>>
>>  - the gitworkflows(7) page[1]
>>
>> The kernel does not follow all of these practices, but maybe similar
>> projects could benefit from some. :)
>>
>> To be a “leaf” contributor (does not require git):
>>
>>  - the Linux wireless git guide[2]
>>  - submitting patches to linux-wireless.git[3]
>>  - guide to tip.git (Linux’s x86 architecture support subsystem) [4]
>>
>> To build a throw-away integration branch:
>>
>>  - Stephen Rothwell’s linux-next tree[5]
>>
>> To be, well, anyone:
>>
>>  - “everyday git in 20 commands or so” [6]
>>
>> Patch flow:
>>
>>  - for Linux wireless [7]
>>  - for git [8]
>>
>> Separate “internal use” and “public” trees:
>>
>>  - nouveau/linux-2.6 [9]
>>
>>> What I'd like to find are concrete
>>> examples, step-by-step, of specifically how to:
>>
>> If you find these, information for each about
>>
>>  - where you expected to find it
>>  - where you actually found it
>>  - how helpful that information was
>>
>> would be very useful.  It would be nice to be able to update “everyday git”,
>> the user manual, the reference manual pages, and other documents to make
>> this sort of question easier to answer.
>>
>> Hope that helps,
>> Jonathan
>>
>> [1] http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html
>> [2] http://wireless.kernel.org/en/developers/Documentation/git-guide
>> [3] http://wireless.kernel.org/en/developers/Documentation/SubmittingPatches
>> [4] http://people.redhat.com/mingo/tip.git/readme.txt
>> [5] http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=Next
>> [6] http://www.kernel.org/pub/software/scm/git/docs/everyday.html
>> [7] http://wireless.kernel.org/en/developers/process
>> [8] https://git.wiki.kernel.org/index.php/MaintNotes
>> [9] http://lists.freedesktop.org/archives/nouveau/2009-March/002765.html
>> http://cgit.freedesktop.org/nouveau/linux-2.6/
>> ‘git rebase’ is the main tool here.
>>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

← back to recent threads