[Buildroot] How to contribute to Buildroot with Git

Paul Jones paul at pauljones.id.au
Sun Dec 5 08:23:25 UTC 2010


You should add that to the documentation, great post!

Paul.

> -----Original Message-----
> From: buildroot-bounces at busybox.net [mailto:buildroot-
> bounces at busybox.net] On Behalf Of Thomas Petazzoni
> Sent: Sunday, 5 December 2010 7:17 PM
> To: buildroot at busybox.net
> Subject: [Buildroot] How to contribute to Buildroot with Git
> 
> On Sat, 4 Dec 2010 16:09:00 -0800 (PST)
> Justin Mark <oilehus at yahoo.com> wrote:
> 
> > I can build libgee with buildroot in my workspace, how should I submit
> > the patch for review? post the patch here or directly do it from git?
> > Can someone give me some details since I don't know much about git?
> 
> The best is to use Git. Here is a simplified version of the Git workflow
that I
> use to work with Buildroot:
> 
>  1) Clone (to be done only once)
> 
>     git clone git://git.busybox.net/buildroot
> 
>  2) Configure Git (to be done only once)
> 
>     Then tell git who you are :
> 
>     git config --global user.name "Firstname Lastname"
>     git config --global user.email firstname.lastname at somewhere.com
> 
>     And tell git how to send emails :
> 
>     git config --global sendemail.smtpserver mysmtpserver
> 
>     And to avoid chained reply :
> 
>     git config --global sendemail.chainreplyto false
> 
>  3) Create a branch to work on your topic (to be done for every
>     separate topic you'd like to work with)
> 
>     git checkout -b mytopic
> 
>     Note that this also switches immediatly to the new 'mytopic'
>     branch. You can run 'git branch' at any time to know on which
>     branch you are.
> 
>  4) Make some modifications, for one particuler subtopic (like adding
>     the vala compiler)
> 
>  5) Commit those modifications
> 
>     git commit -s -a
> 
>     And enter an appropriate commit log.
> 
>     If you created new files, add them with "git add".
> 
>     Then go back to step 4 for the other changes you want to do, or
>     proceed to step 6 if you're done with your changes.
> 
>  6) Review your changes
> 
>     git log -p master..
> 
>  7) Prepare patches for your changes
> 
>     git format-patch HEAD
> 
>     This will generate a set of 000X-*.patch files in the Buildroot
>     directory
> 
>  8) Send your patches to the list
> 
>     git send-email --to buildroot at uclibc.org --compose *.patch
> 
> And you're done.
> 
> If while reviewing your commits you find that you need to merge some of
> them (because you did some mistakes that you fixed later and you don't
> want the world to know about your mistakes), then you have to use the
> rebasing feature of git:
> 
>     git rebase -i master
> 
> Git will open up a text editor with the list of your commits. You can edit
this
> file to change the order of the commits, or to change the action taken on
a
> particular commit (see the file itself for documentation on those
actions). A
> typical thing is :
> 
>     pick SOMEGITHASH package: add foobar
>     pick SOMEGITHASH package: add barfoo
>     pick SOMEGITHASH I did something wrong in add foobar, merge me
> 
> So obviously you want the last commit to be merged into the first one, so
> that nobody knows you did some mistakes during your development. So,
> turn those three lines into the following ones:
> 
>     pick SOMEGITHASH package: add foobar
>     fixup SOMEGITHASH I did something wrong in add foobar, merge me
>     pick SOMEGITHASH package: add barfoo
> 
> And exit the text editor. Git will reorganize your commits, and you'll end
up
> with just two commits.
> 
> Don't hesitate to ask questions if you have issues,
> 
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux development, consulting,
> training and support.
> http://free-electrons.com
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot





More information about the buildroot mailing list