Re: Kernel headers git tree
- From
Junio C Hamano <junkio@cox.net>
- Date
- Jul 14, 2006, 02:37 UTC
- Message-ID
- <7vwtagsyi0.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <1152838562.31372.58.camel@shinybook.infradead.org>
David Woodhouse <dwmw2@infradead.org> writes:
Show 28 quoted lines
> On Thu, 2006-07-13 at 17:39 -0700, Junio C Hamano wrote: >> With modern enough git, you can rewrite >> KBUILDSHA=`git ls-tree $TREE -- Kbuild | cut -f3 -d\ | cut -f1` >> with >> KBUILDSHA1=`git rev-parse $TREE:Kbuild` > > > Aha. Thanks. > >> I am not sure what function incparent() is trying to do with >> this: >> >> git rev-list --max-count=1 --topo-order $1 -- . > > Find the latest ancestor commit which actually changed any files. The > first script has a similar line, except that it finds the latest > ancestor which changed anything in include/ > > Consider a kernel tree with commits A-->B-->C-->D, of which only A and C > change anything in include/ and in fact only C actually changes the > _exported_ headers after the unifdef and sed bits. > > The first script (extract-khdrs-git.sh) creates a 'stage1' branch which > only contains commits A'-->C', with the _exported_ header tree for each. > > The second script (extract-khdrs-stage2.sh) then creates the master > branch with the same tree objects, but omitting the commits which don't > change anything. So it contains only commit C''
I guess what I was getting at was if you can avoid creating commits that do not change anything from previous in stage1 branch, you do not have to do this, but I haven't studied stage1 script deeply enough.