All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org
Subject: Re: Kernel headers git tree
Date: Fri, 14 Jul 2006 19:21:20 +0100	[thread overview]
Message-ID: <1152901280.3191.82.camel@pmac.infradead.org> (raw)
In-Reply-To: <7v64i0qd4d.fsf@assigned-by-dhcp.cox.net>

On Fri, 2006-07-14 at 11:01 -0700, Junio C Hamano wrote:
> David Woodhouse <dwmw2@infradead.org> writes:
> 
> > Yet what I actually want in the final result is "those commits which
> > change the result of the _exported_ headers". It's slightly less
> > realistic to want rev-list to find that for me directly from the
> > original kernel tree without having done the export step in stage1 --
> > what I need to do is create the exported header tree for each commit
> > which _might_ change it, then filter out the commits which don't
> > _actually_ change it.
> >
> > The extra commits in the stage1 branch are cheap enough -- by definition
> > they don't lead to any extra tree or blob objects. I think the two-stage
> > export is probably the best approach, unless I'm missing something.
> 
> Since you are not building an exact parallel history with the
> same topology (you are trying to cull the commits in the new
> tree that do not change the resulting header files), I do not
> see much point in the parent conversion loop in the first script
> to compute CONVERTEDPARENTS.
> 
> How about making it simpler?
> 
> 	* Keep the current HEAD of the "headers" branch at in
>           refs/heads/kernel-headers
> 
> 	* Whenever you see $UPSTREAM_GITDIR/refs/heads/master
>           changes, you do your converttree to come up with the
>           new header tree
> 
> 	* See if the resulting tree changed by doing something
>           like this:
> 
>                 TREE=`converttree $INCDIR $KBUILDASMSHA`
>                 case "`git diff-tree --name-only kernel-headers $TREE`" in
>                 '')
>                         # No changes in the result
>                         exit
>                 esac
> 
> 	  Stop processing here if there is no change.
> 
> 	* Make a new commit, with its parent set to the current
>           value of refs/heads/kernel-headers, perhaps with the
>           same message as $UPSTREAM_GITDIR/refs/heads/master
>           has as you do already.
> 
> 	* Advance refs/heads/kernel-headers only when you
>           actually make a new commit.

Unless I'm misunderstanding, I then don't get a tree with a topology
which matches Linus' tree -- I just get a series of snapshots, and it's
dependent on the timing of my cron jobs.

That means that there isn't a 1:1 relationship between any commit in the
slave tree and a corresponding commit in the upstream tree, and that the
slave tree can't (sensibly) be reproduced.

I'd much rather keep it the way it is -- but I'm certainly interested in
ways that I could simplify the process of generating what I have at the
moment.

> I would further suggest to record the value of the upstream
> commit object name, $UPSTREAM_GITDIR/refs/heads/master,
> somewhere in the commit message, by using "git describe".  This
> will help people who use your converted headers to know which
> released version of the Linus kernel the headers correspond to,
> and also help you notice when the upstream is updated during the
> next run.

Yeah, that was already suggested. I'll do that.

-- 
dwmw2

  reply	other threads:[~2006-07-14 18:21 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-13 23:59 Kernel headers git tree David Woodhouse
2006-07-14  0:39 ` Junio C Hamano
2006-07-14  0:56   ` David Woodhouse
2006-07-14  1:08     ` Linus Torvalds
2006-07-14  2:37     ` Junio C Hamano
2006-07-14  1:05   ` Linus Torvalds
2006-07-14  1:27     ` David Woodhouse
2006-07-14  5:16       ` Linus Torvalds
2006-07-14 10:23         ` David Woodhouse
2006-07-14 15:57           ` Linus Torvalds
2006-07-14 17:51             ` Daniel Barkalow
2006-07-14 17:58               ` David Woodhouse
2006-07-14 18:21                 ` Daniel Barkalow
2006-07-14  5:52       ` Linus Torvalds
2006-07-14  9:38         ` David Woodhouse
2006-07-14 15:39           ` Linus Torvalds
2006-07-17 22:34             ` [PATCH] Trivial path optimization test Alex Riesen
2006-07-24  6:41               ` Junio C Hamano
2006-07-24 23:23                 ` Alex Riesen
2006-07-24 23:23             ` Alex Riesen
2006-07-14 18:01           ` Kernel headers git tree Junio C Hamano
2006-07-14 18:21             ` David Woodhouse [this message]
2006-07-14  7:20 ` Ian Campbell
2006-07-14  7:52   ` Junio C Hamano
2006-07-14 18:05 ` Ingo Oeser
2006-07-14 18:16   ` David Woodhouse
2006-07-18 21:15     ` Ingo Oeser

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=1152901280.3191.82.camel@pmac.infradead.org \
    --to=dwmw2@infradead.org \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.