public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* The gregkh patch scripts
@ 2010-03-07  4:19 Alan Stern
  2010-03-07 18:16 ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Stern @ 2010-03-07  4:19 UTC (permalink / raw)
  To: Greg KH; +Cc: Linus Torvalds, Kernel development list

Greg:

Are the scripts you use for creating the various gregkh-*.patch files 
stored in 

http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/scripts/

?  Those files appear not to have been updated for quite some time.

Regardless, the way the current scripts work has got a problem.  As far
as I can tell, they take Linus's current tree, apply your various
accumulated quilt series files, and then compute the diff between the
end result and the starting point.  The output is labelled with name of
the starting tree.  (If my understanding is wrong then tell me so and
ignore the rest of this message.)

The problem is that Linus's current tree is not a good starting point.  
For example, right now several of the individual files such as
gregkh-07-usb-2.6.33.patch are completely empty.  This is because you
have sent all the pending changes upstream, so they are now included in
Linus's tree and hence they don't show up in a diff.

But...  The file is still named "gregkh-07-usb-2.6.33.patch", even
though it isn't a patch against 2.6.33 -- it's a patch against whatever
Linus's tree happened to contain at the time you ran the script.  
Since I don't know what tree that was (and I don't have git repository
for the kernel anyway), I can't use the patch file.  (Well, I _can_ use 
it because it's empty, but it doesn't do me any good -- the principle 
is still valid.)

As Linus has explained to quite a few people, this isn't a good way to
operate.  What your scripts do is essentially the same as rebasing a
publicly-exported git repository, which should be done relatively
infrequently.  It's okay to rebase against the actual releases and the
*-rcN trees, because they are well-defined intermediate points.  But
rebasing against a *-rcN-gitM should be quite rare, and rebasing
against anything else is basically forbidden.

This means the scripts shouldn't start with the vanilla
tree-of-the-moment.  They should start with the most recent release or
-rcN tag.  In rare cases they could use an rcN-gitM tag, but only if
there's a good reason.

So for example, the current gregkh-*-2.6.33.patch files should be quite
large, because they should contain all the accumulated development for
the last three months that hasn't gotten into 2.6.33.  When 2.6.34-rc1
is released then the files should get small, since they would then
contain only material that was submitted slightly before or during the
merge window.

Can the scripts be updated to work in this way?

Alan Stern


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: The gregkh patch scripts
  2010-03-07  4:19 The gregkh patch scripts Alan Stern
@ 2010-03-07 18:16 ` Greg KH
  2010-03-07 20:54   ` Alan Stern
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2010-03-07 18:16 UTC (permalink / raw)
  To: Alan Stern; +Cc: Linus Torvalds, Kernel development list

On Sat, Mar 06, 2010 at 11:19:20PM -0500, Alan Stern wrote:
> Greg:
> 
> Are the scripts you use for creating the various gregkh-*.patch files 
> stored in 
> 
> http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/scripts/
> 
> ?  Those files appear not to have been updated for quite some time.

Until last week, yes, they were the most recent version.

However, last week I made some changes, which caused things to break in
different ways as you have noticed.

> Regardless, the way the current scripts work has got a problem.  As far
> as I can tell, they take Linus's current tree, apply your various
> accumulated quilt series files, and then compute the diff between the
> end result and the starting point.  The output is labelled with name of
> the starting tree.  (If my understanding is wrong then tell me so and
> ignore the rest of this message.)

No, that is correct.

I switched to using a git commit base to make it easier to handle the
merges in the linux-next tree due to problems that Stephen was having
when merging my trees into there.

> The problem is that Linus's current tree is not a good starting point.  
> For example, right now several of the individual files such as
> gregkh-07-usb-2.6.33.patch are completely empty.  This is because you
> have sent all the pending changes upstream, so they are now included in
> Linus's tree and hence they don't show up in a diff.

Yes that is true.

But I do think that Linus's tree is a good starting point, as that
reflects my current quilt patchset identically.

> But...  The file is still named "gregkh-07-usb-2.6.33.patch", even
> though it isn't a patch against 2.6.33 -- it's a patch against whatever
> Linus's tree happened to contain at the time you ran the script.  
> Since I don't know what tree that was (and I don't have git repository
> for the kernel anyway), I can't use the patch file.  (Well, I _can_ use 
> it because it's empty, but it doesn't do me any good -- the principle 
> is still valid.)

Yes, the issue is that the base tree is not labeled the same.  I should
rename the patch to be "gregkh-07-usb-SHA.patch" to be more refelective
of what it really is.

If you look at the quilt series that linux-next pulls from, those have
the correct marking with the # BEGIN markings that linux-next relies on.
It identifies the proper SHA1 to base the tree off of.

> As Linus has explained to quite a few people, this isn't a good way to
> operate.  What your scripts do is essentially the same as rebasing a
> publicly-exported git repository, which should be done relatively
> infrequently.  It's okay to rebase against the actual releases and the
> *-rcN trees, because they are well-defined intermediate points.  But
> rebasing against a *-rcN-gitM should be quite rare, and rebasing
> against anything else is basically forbidden.
> 
> This means the scripts shouldn't start with the vanilla
> tree-of-the-moment.  They should start with the most recent release or
> -rcN tag.  In rare cases they could use an rcN-gitM tag, but only if
> there's a good reason.
> 
> So for example, the current gregkh-*-2.6.33.patch files should be quite
> large, because they should contain all the accumulated development for
> the last three months that hasn't gotten into 2.6.33.  When 2.6.34-rc1
> is released then the files should get small, since they would then
> contain only material that was submitted slightly before or during the
> merge window.
> 
> Can the scripts be updated to work in this way?

Yes, I can switch back to going off of the -rcN-gitM markings that I was
using in the past.  If I do that does it make it easier for you?

And yes, you are right, this is a constant rebase, and that's wrong on
my part.

This makes me reconsider the fact that I'm using quilt for all of this.
Perhaps if I switch to a git tree, it would all be easier for people
like you?  Would you prefer that?

For stuff like my staging tree, I'm almost convinced that switching to
git makes more sense as keeping that many patches in quilt is a mess and
I don't ever end up rebasing anything or deleting any patches in the
middle anymore.

For USB, yeah, I think it's also time to switch over as well.  What do
you think?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: The gregkh patch scripts
  2010-03-07 18:16 ` Greg KH
@ 2010-03-07 20:54   ` Alan Stern
  2010-03-08  6:04     ` Felipe Balbi
  2010-03-09 19:50     ` Greg KH
  0 siblings, 2 replies; 5+ messages in thread
From: Alan Stern @ 2010-03-07 20:54 UTC (permalink / raw)
  To: Greg KH; +Cc: Linus Torvalds, USB list, Kernel development list

On Sun, 7 Mar 2010, Greg KH wrote:

> Yes, I can switch back to going off of the -rcN-gitM markings that I was
> using in the past.  If I do that does it make it easier for you?
> 
> And yes, you are right, this is a constant rebase, and that's wrong on
> my part.

That's exactly the problem.  I don't mind rebasing for each -rcN; in
fact many of the early -rc kernels often contain important bug fixes so
I'm glad to have them.  But rebasing more often than that becomes
increasingly inconvenient.

> This makes me reconsider the fact that I'm using quilt for all of this.
> Perhaps if I switch to a git tree, it would all be easier for people
> like you?  Would you prefer that?

I'm happy either way (although by now I'm quite used to using quilt and
not so accustomed to git -- I haven't tried guilt).  Of course, other
people may feel differently.

> For stuff like my staging tree, I'm almost convinced that switching to
> git makes more sense as keeping that many patches in quilt is a mess and
> I don't ever end up rebasing anything or deleting any patches in the
> middle anymore.
> 
> For USB, yeah, I think it's also time to switch over as well.  What do
> you think?

Let's ask some other people on the USB list (CC'ed).  My main concern 
is to avoid rebasing too often, whichever source-code management system 
is used.

Alan Stern


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: The gregkh patch scripts
  2010-03-07 20:54   ` Alan Stern
@ 2010-03-08  6:04     ` Felipe Balbi
  2010-03-09 19:50     ` Greg KH
  1 sibling, 0 replies; 5+ messages in thread
From: Felipe Balbi @ 2010-03-08  6:04 UTC (permalink / raw)
  To: Alan Stern; +Cc: Greg KH, Linus Torvalds, USB list, Kernel development list

Hi,

On Sun, Mar 07, 2010 at 03:54:25PM -0500, Alan Stern wrote:
> Let's ask some other people on the USB list (CC'ed).  My main concern 
> is to avoid rebasing too often, whichever source-code management system 
> is used.

personally, I'm more used to git and find it difficult (or annoying) when
I need to rebase my own patches on top of Greg's quilt tree. git
quiltimport doesn't work always and I have to refresh patches on my own
and run git quiltimport later again.

Moving to a git tree would help me, but then again, I don't want to
become a burden. Whatever is better for Greg, I'll be adapating to ;-)

What I use currently to have a tree which people can pull from and still
be able to rebase on top of Greg's patches is something like:

$ git fetch linus
$ git reset --hard linus/master
$ git quiltimport --patches gregkh
$ git rebase greg my_patches
$ git merge -s ours master
$ git checkout master
$ git merge my_patches

it helps although rebuilding the tree always is a bit messy :-p

-- 
balbi


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: The gregkh patch scripts
  2010-03-07 20:54   ` Alan Stern
  2010-03-08  6:04     ` Felipe Balbi
@ 2010-03-09 19:50     ` Greg KH
  1 sibling, 0 replies; 5+ messages in thread
From: Greg KH @ 2010-03-09 19:50 UTC (permalink / raw)
  To: Alan Stern; +Cc: Linus Torvalds, USB list, Kernel development list

On Sun, Mar 07, 2010 at 03:54:25PM -0500, Alan Stern wrote:
> On Sun, 7 Mar 2010, Greg KH wrote:
> 
> > Yes, I can switch back to going off of the -rcN-gitM markings that I was
> > using in the past.  If I do that does it make it easier for you?
> > 
> > And yes, you are right, this is a constant rebase, and that's wrong on
> > my part.
> 
> That's exactly the problem.  I don't mind rebasing for each -rcN; in
> fact many of the early -rc kernels often contain important bug fixes so
> I'm glad to have them.  But rebasing more often than that becomes
> increasingly inconvenient.

Ok, I've moved back to the original way I was handling this, it should
all be back to normal now.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-03-09 19:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-07  4:19 The gregkh patch scripts Alan Stern
2010-03-07 18:16 ` Greg KH
2010-03-07 20:54   ` Alan Stern
2010-03-08  6:04     ` Felipe Balbi
2010-03-09 19:50     ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox