public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: merging other repos into linux-2.6
Date: Thu, 30 Oct 2008 14:57:34 -0700	[thread overview]
Message-ID: <20081030215734.GA18822@kroah.com> (raw)
In-Reply-To: <alpine.LFD.2.00.0810301152230.3505@nehalem.linux-foundation.org>

On Thu, Oct 30, 2008 at 12:04:34PM -0700, Linus Torvalds wrote:
> 
> 
> On Wed, 29 Oct 2008, Greg KH wrote:
> > 
> > In working with some of the current out-of-tree drivers, some of them
> > are asking if they could keep their past development history when
> > merging the code into the main kernel tree.
> > 
> > Now normally we don't do this for new drivers, just dropping them in in
> > one big patch, or sometimes multiple patches to get it through email
> > filters.
> 
> I'd suggest you talk to Chris Mason about his btrfs import.
> 
> I'd _like_ for old history to be merged, but quite frankly, bisectability 
> is a fairly big deal, and while we often have cases where a _few_ commits 
> don't build and make bisecting hard, if you import the past development 
> history badly, you can easily end up with _hundreds_ of commits that 
> simply don't build as a kernel at all.
> 
> And at some point the "nice to have" history is suddenly "more pain than 
> it is worth".
> 
> > The comedi group (data acquisition subsystem for Linux) have their whole
> > history going back to 2000 in a git tree (well, a cvs->git repo.)
> > 
> > I was wondering if it would be acceptable to graft their tree into the
> > linux-2.6 tree (after moving the files to the proper location) to keep
> > their whole old history alive.
> 
> If you mean "graft" in the git technical sense, where you actually use a 
> grafts file to fake ancestry, then the answer is "Hell no".
> 
> If you mean "graft" in the sense of merging a unrelated tree, the same way 
> git itself merged the gitk tree, then the answer is "yes, we can do that, 
> but bisectability is really important".

I ment the later, like what you did with the gitk tree and the git repo.

> And quite frankly, if you don't spend time looking at it and doing it 
> well, it's probably not worth doing at all. Are you ready to really try to 
> do a good job?
> 
> That's why I'd suggest you talk to Chris - because he did an import from 
> an external mercurial repo that wasn't even a full kernel, and with some 
> help from me got a really good history in his git tree by using a number 
> of tricks, notably using "git filter-branch" to create a new tree with the 
> whole history as part of a whole tree, and nicely bisectable too.
> 
> (See the result at
> 
> 	http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-unstable.git;a=summary
> 
> if you want to).

Thanks, I'll take a look at this.

But as for the 'bisectability' at one point in the merge, you will be
adding a stand-alone driver into the kernel itself.  So for anyone
traversing down that path, all you would be building would be the driver
itself, the whole rest of the kernel is "gone".  So, keeping the ability
for those points along the stand-alone driver might be nice, I can see
this confusing the heck out of people who would wonder where in the
world the kernel went away to.

> Anyway, I'll happily help with any cleanup and/or git questions, but Chris 
> can talk about the issues he had - he did all the actual work.
> 
> In contrast, if what you just want to do is to take some nasty straight 
> CVS import, and just do a git merge, and not try to make it bisect sanely, 
> at that point I'd say that the history is absolutely _not_ worth it.

Fair enough, I'll play around with the comedi git tree, look at what
Chris did with btrfs, and then see if it's even worth it.

thanks for your comments,

greg k-h

  parent reply	other threads:[~2008-10-30 21:59 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-30  5:49 merging other repos into linux-2.6 Greg KH
2008-10-30 17:17 ` Stefan Richter
2008-10-30 19:04 ` Linus Torvalds
2008-10-30 21:52   ` Dave Kleikamp
2008-10-30 23:19     ` Linus Torvalds
2008-10-30 21:57   ` Greg KH [this message]
2008-10-30 23:28     ` Linus Torvalds
2008-10-31  3:13       ` Greg KH
2008-10-31  1:34 ` J.R. Mauro
2008-10-31  1:47   ` Linus Torvalds
2008-10-31  2:38     ` J.R. Mauro
2008-10-31  3:31       ` Theodore Tso
2008-10-31  4:08       ` Kyle Moffett
2008-10-31 12:57         ` J.R. Mauro
2008-10-31 14:22           ` Kyle Moffett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081030215734.GA18822@kroah.com \
    --to=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox