Re: Kernel headers git tree
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:33
David Woodhouse [off-list ref] writes:
On Thu, 2006-07-13 at 17:39 -0700, Junio C Hamano wrote:quoted
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.quoted
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.