login
Header Space

 
 

Linux: Historical Kernel Tree with Git

July 25, 2007 - 2:44pm
Submitted by Jeremy on July 25, 2007 - 2:44pm.
Linux news

In a recent lkml thread, the idea of getting the entire Linux kernel history into a git repository was discussed. Linus Torvalds noted, "I actually tried to get something like this together back in the BK days and early in the SCO saga. It was pretty painful to try to find all the historic trees and patches - they're all in different format, and some of them are unreliable." He added, "I've been thinking about trying to re-create some really old history into git, but it's still a lot of work.. And obviously not very useful, just interesting from an archaeological standpoint." Much information on early Linux kernels is gathered at oldlinux.org, and Linus already has the full 2.5.0 to 2.6.12-rc2 history imported from BitKeeper available in git. Linus went on to talk about why git is better suited than BK was for building a complete kernel history:

"The good news is that git would be a lot more natural to the process of trying to create a history, because you could basically import random trees, and tag them as just independent trees, and then re-create the history after-the-fact by trying to stitch them all together. And if you find a new tree, you'd just re-stitch it - something that was very hard to do with BK (and BK generally wouldn't help you with keeping multiple independent trees around, and wouldn't generally accept the notion of re-doing the histories and keeping various versions of the histories around)."


From:	Jon Smirl [email blocked]
Subject: Git tree for old kernels from before the current tree
Date:	Sun, 22 Jul 2007 16:49:48 -0400

Continuing on with kernel archeology for embedded systems, any
interest in making a git tree with all of the kernel versions from the
beginning up to the start of the current git tree? No history in the
tree, just a simple way to quickly fetch and select a copy of all the
various old releases. I know they are all available ftp, git tree
would organize them all in one place and let you fetch them all at
once.

If this is small enough you could add it to the current kernel tree.
Git's super diffing performance might make this fairly small.

My dream system lets me checkout an ancient version, apply the diff
from the vendor (or expand a tarball), use git status to see what
files changed, and git diff to get detailed changes (all minus CVS
keyword expansion noise). Major bonus points if it can detect detect a
subsystem that has been backported.

-- 
Jon Smirl
[email blocked]


From: Jan Engelhardt [email blocked] To: Jon Smirl [email blocked] Subject: Re: Git tree for old kernels from before the current tree Date: Sun, 22 Jul 2007 23:00:15 +0200 (CEST) On Jul 22 2007 16:49, Jon Smirl wrote: > > Continuing on with kernel archeology for embedded systems, any > interest in making a git tree with all of the kernel versions from the > beginning up to the start of the current git tree? Well, it would be cool if history was somehow available (I recognize this would be a lot of work). One currently has to go through the bk repo if something is to be searched for in that timeframe. > No history in the > tree, just a simple way to quickly fetch and select a copy of all the > various old releases. I know they are all available ftp, git tree > would organize them all in one place and let you fetch them all at > once. In fact, we could bisect on it. Though not sure how useful that is with really old versions :) > If this is small enough you could add it to the current kernel tree. > Git's super diffing performance might make this fairly small. > Jan
From: Paul Mundt [email blocked] To: Jan Engelhardt [email blocked] Subject: Re: Git tree for old kernels from before the current tree Date: Mon, 23 Jul 2007 06:13:14 +0900 On Sun, Jul 22, 2007 at 11:00:15PM +0200, Jan Engelhardt wrote: > On Jul 22 2007 16:49, Jon Smirl wrote: > > Continuing on with kernel archeology for embedded systems, any > > interest in making a git tree with all of the kernel versions from the > > beginning up to the start of the current git tree? > > Well, it would be cool if history was somehow available (I recognize > this would be a lot of work). One currently has to go through the > bk repo if something is to be searched for in that timeframe. > Err, that's crap. Have you even looked at gitweb? There's at least: git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git This has trees all the way back to 2.5.0. and Linus also has: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/old-2.6-bkcvs.git for the BK history. That's already more history than most people have any immediate use for, going beyond that starts getting in to general completeness before practical application territory. Anyone still sending 2.4 patches with the intent of them being moved forward and applied to a current kernel needs to be killfiled.
From: Jan Engelhardt [email blocked] To: Paul Mundt [email blocked] Subject: Re: Git tree for old kernels from before the current tree Date: Sun, 22 Jul 2007 23:46:14 +0200 (CEST) On Jul 23 2007 06:13, Paul Mundt wrote: >> >Err, that's crap. Have you even looked at gitweb? There's at least: > >git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git >This has trees all the way back to 2.5.0. > >and Linus also has: > >git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/old-2.6-bkcvs.git > >for the BK history. Oh I did not know that. I don't glance too much around in git://git.kernel.org/ because there are sooo many :) Jan
From: Jan Engelhardt [email blocked] To: Paul Mundt [email blocked] Subject: Re: Git tree for old kernels from before the current tree Date: Mon, 23 Jul 2007 00:00:50 +0200 (CEST) On Jul 22 2007 23:46, Jan Engelhardt wrote: >On Jul 23 2007 06:13, Paul Mundt wrote: >>> >>Err, that's crap. Have you even looked at gitweb? There's at least: >> >>git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git >>This has trees all the way back to 2.5.0. Actually back to 2.4.0, including history. That I'd call mission done then :) Jan
From: "H. Peter Anvin" [email blocked] To: Jan Engelhardt [email blocked] Subject: Re: Git tree for old kernels from before the current tree Date: Sun, 22 Jul 2007 15:10:50 -0700 Jan Engelhardt wrote: > On Jul 22 2007 23:46, Jan Engelhardt wrote: >> On Jul 23 2007 06:13, Paul Mundt wrote: >>> Err, that's crap. Have you even looked at gitweb? There's at least: >>> >>> git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git >>> This has trees all the way back to 2.5.0. > > Actually back to 2.4.0, including history. That I'd call mission done then :) > Wouldn't be hard to make a git tree with all the patches all the way back to 0.01 even... -hpa
From: Linus Torvalds [email blocked] To: "H. Peter Anvin" [email blocked] Subject: Re: Git tree for old kernels from before the current tree Date: Mon, 23 Jul 2007 09:55:24 -0700 (PDT) On Sun, 22 Jul 2007, H. Peter Anvin wrote: > > Wouldn't be hard to make a git tree with all the patches all the way > back to 0.01 even... I actually tried to get something like this together back in the BK days and early in the SCO saga. It was pretty painful to try to find all the historic trees and patches - they're all in different format, and some of them are unreliable (ie CVS imports by people like Ted). The good news is that git would be a lot more natural to the process of trying to create a history, because you could basically import random trees, and tag them as just independent trees, and then re-create the history after-the-fact by trying to stitch them all together. And if you find a new tree, you'd just re-stitch it - something that was very hard to do with BK (and BK generally wouldn't help you with keeping multiple independent trees around, and wouldn't generally accept the notion of re-doing the histories and keeping various versions of the histories around). So I've been thinking about trying to re-create some really old history into git, but it's still a lot of work.. And obviously not very useful, just interesting from an archeological standpoint. Linus
From: Nicolas Pitre [email blocked] To: Linus Torvalds [email blocked] Subject: Re: Git tree for old kernels from before the current tree Date: Mon, 23 Jul 2007 13:48:06 -0400 (EDT) On Mon, 23 Jul 2007, Linus Torvalds wrote: > So I've been thinking about trying to re-create some really old history > into git, but it's still a lot of work.. And obviously not very useful, > just interesting from an archeological standpoint. I started this once. I have (sort of) a GIT tree with all Linux revisions that I could find from v0.01 up to v1.0.9. But the most interesting information and also what is the most time consuming is the retrieval of announcement messages for those releases in old mailing list or newsgroup archives to serve as commit log data. It seems to be even arder to find for post v1.0 releases. Nicolas
From: Linus Torvalds [email blocked] To: Nicolas Pitre [email blocked] Subject: Re: Git tree for old kernels from before the current tree Date: Mon, 23 Jul 2007 11:02:39 -0700 (PDT) On Mon, 23 Jul 2007, Nicolas Pitre wrote: > > I started this once. > > I have (sort of) a GIT tree with all Linux revisions that I could find > from v0.01 up to v1.0.9. But the most interesting information and also > what is the most time consuming is the retrieval of announcement > messages for those releases in old mailing list or newsgroup archives to > serve as commit log data. It seems to be even arder to find for post > v1.0 releases. Yes, I agree. Google finds some of them, but (a) I was never very good about announcements anyway and (b) there's nothing really good to search for, so it's very hit-and-miss. Some of the really early release notes are easy to find, just because I made them available with the sources, but mostly I'd just have posten to the newsgroup/mailing lists. If somebody creates a reasonably good tree (ie all the trees, easily diffable, tied together with at least *some* commit history and the most easily found release notes), I'm willing to try to spend some time just writing down recollections from looking at the diffs. Not very reliable, but better than nothing. This is the kind of thing that the "notes" thing could be useful for, since there are others around who might also be interested in adding their commentary. Linus
From: Nicolas Pitre [email blocked] To: Linus Torvalds [email blocked] Subject: Re: Git tree for old kernels from before the current tree Date: Mon, 23 Jul 2007 15:06:09 -0400 (EDT) On Mon, 23 Jul 2007, Linus Torvalds wrote: > > > On Mon, 23 Jul 2007, Nicolas Pitre wrote: > > > > I started this once. > > > > I have (sort of) a GIT tree with all Linux revisions that I could find > > from v0.01 up to v1.0.9. But the most interesting information and also > > what is the most time consuming is the retrieval of announcement > > messages for those releases in old mailing list or newsgroup archives to > > serve as commit log data. It seems to be even arder to find for post > > v1.0 releases. > > Yes, I agree. Google finds some of them, but (a) I was never very good > about announcements anyway and (b) there's nothing really good to search > for, so it's very hit-and-miss. > > Some of the really early release notes are easy to find, just because I > made them available with the sources, but mostly I'd just have posten to > the newsgroup/mailing lists. That's what I used when available, especially to properly time stamp those commits. Using the latest date on files included in the archive isn't always reliable. OK so actually what I have is from v0.01 up to v1.0 creating 93 commits. What is missing is: - v0.02 sources - v0.10 announcement - v0.96 sources - v0.99.12 announcement - sources for v0.99.13{abcdefghij} (got k, don't know where the serie ends) as well as announcements for all of them - all announcements for v0.99.14{a-z} except for pl14r - announcements for pl15c to pl15j, 1.0-pre1, and ALPHA-1.0. Otherwise the archive appears fairly complete with almost 3 years of Linux development history captured in a 3MB pack file. Nicolas
From: Linus Torvalds [email blocked] To: Nicolas Pitre [email blocked] Subject: Re: Git tree for old kernels from before the current tree Date: Mon, 23 Jul 2007 13:10:53 -0700 (PDT) On Mon, 23 Jul 2007, Nicolas Pitre wrote: > > What is missing is: > > - v0.02 sources I think this really is gone. 0.03 was such an improvement on 0.02 that I think what happened was that I literally removed 0.02 (hey, it wasn't historically interesting at the time!). It's not the first time people have wondered about it. 0.03 was the first version where you could actually do things under Linux, and I think I could compile etc. I *think* it was released pretty close after 0.02, which made 0.02 appear even more flawed and a brown-paper-bag release. > - v0.10 announcement Hmm. That one would be interesting, since the reason for the 0.03->0.10 jump was that I was getting so happy with how it was actually working for me (ie able to compile itself under itself). But I don't see it, and it's not on google in the comp.os.minix archives either, afaik. > - v0.96 sources Hmm. Odd. Might be another case of "0.96a was released as a brown-paper-bag fix for 0.96, and the latter hidden in shame". Stupid bugs only appear endearing in retrospect. > - v0.99.12 announcement Well, the 0.99.12 announcement is found by google. http://groups.google.com/group/comp.os.linux.announce/browse_thread/thread/8a19289f68a4af35/fe433c9df4b382a5?lnk=st&q=&rnum=1#fe433c9df4b382a5 In general, google groups (search by date and author, and make the group be something like *linux*) is good, I found the above on the first try. > - sources for v0.99.13{abcdefghij} (got k, don't know where the serie > ends) as well as announcements for all of them > > - all announcements for v0.99.14{a-z} except for pl14r > > - announcements for pl15c to pl15j, 1.0-pre1, and ALPHA-1.0. Many of those might not have merited announcements. At some point I was just making tar-balls a few days apart, to let people track it. > Otherwise the archive appears fairly complete with almost 3 years of > Linux development history captured in a 3MB pack file. Heh, nice. Those early versions are all smaller than the patch set we generate in a day these days :) Linus



Related Links:

Reply

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <b> <quote> <pre> <hr> <br> <p> <img> <blockquote> <font> <tt> <table> <tr> <i>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options

speck-geostationary