Re: [SOT] GIT usage question

From: Michael Tokarev
Date: Wed Oct 11 2006 - 15:49:25 EST


Willy Tarreau wrote:
> On Wed, Oct 11, 2006 at 10:54:50PM +0400, Michael Tokarev wrote:
[]
>> o origin which points to Linus's 2.6.19-pre
>> o libata, which is current libata tree
>> o 2.6.18 release -- the kernel I'm running right now.
>>
>> I want to get changes *for libata subsystem* in origin or
>> libata (libata is just changes which are on the way to Linus,
>> and current difference is very minor), to apply against 2.6.18.
>> Ie, in short, changes which went to origin *from* libata.
>>
>> Is it possible?
>
> If I understand what you want to do, you just have to do this :
>
> $ git-checkout 2.6.18
> $ git-pull . libata
>
> This will merge in 2.6.18 everything that's in libata. If you

It will merge everything wich is in current 2.6.19-pre, too.
Ie, it will be current 2.6.19 tree basically, or 'origin' in
my case.

(currently, the only 2 differences between origin and libata
is a tiny bugfix and winbond driver, so using libata or origin
here is basically the same thing).

But I wanted to _omit_ everything _but_ libata - stuff which
*come* to Linus's tree from libata) from the diff.

So it looks like the key idea is to find which commits are
relevant. With libata as an example, it's relatively easy -
git-diff 2.6.18..libata drivers/ata
( or 2.6.18..origin drivers/ata -- as the two trees are
almost the same currently), plus some includes.

Ie, some other ways needs to be used to *identify* which parts
of the whole thing is needed, in this example it's easy as
everything is located in the same dir.

With more complex changes, things aren't that simple if at all
possible, BUT there's almost no chances that the resulting
"patched-2.6.18" will ever compile after trying to apply that
complex changes, anyway ;)

But thanks anyway ;)

/mjt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/