Skip to contentSkip to conversation

Zero-length ARM headers in git HEAD

DISCUSSION Jeff Garzik 3 participants 3 messages Oct 28, 2011

lore
Share & tools
lore
#0 lore raw

Gents,

In the following kernel commits,

	9c587c05d715ca8461342c2cb3b4a67036b5c22b
	ea5abbd215b749b2ff14397a47a5e65741c67bf4
	cc890cd78acd7ab03442907d354b6af34e973cb3

the file ...$platform/mach/gpio.h is replaced with an empty file. This disagrees with kernel tradition and kernel makefiles, where zero length files are intentionally deleted when "make distclean" is executed.

As a result, git sequences such as "make distclean ; git checkout master" may fail, because several files are present in the index but not on disk, making it appear as if modifications have been made:

	$ git checkout master
	D	arch/arm/mach-lpc32xx/include/mach/gpio.h
	D	arch/arm/mach-tegra/include/mach/gpio.h
	D	arch/arm/mach-u300/include/mach/gpio.h

An update, either (a) making these files non-zero length or (b) deleting the files in git would be appreciated. Reading the commit descriptions, it appears (a) is the correct path?

Jeff

#1 lore raw
Quoted 7 lines · Jeff Garzik

the file ...$platform/mach/gpio.h is replaced with an empty file.  This disagrees with kernel tradition and kernel makefiles, where zero length files are intentionally deleted when "make distclean" is executed.

As a result, git sequences such as "make distclean ; git checkout master" may fail, because several files are present in the index but not on disk, making it appear as if modifications have been made:

Argh!

Quoted 3 lines

An update, either (a) making these files non-zero length or (b) deleting the files in git would be appreciated.  Reading the commit descriptions, it appears (a) is the correct path?

Russell already told me what to do, I just was too stupid to go back and fix it up properly so I'm doing that now.

Thanks,
Linus Walleij

#2 lore raw
In reply to Jeff Garzik
Quoted 11 lines · Jeff Garzik

Gents,

In the following kernel commits,

	9c587c05d715ca8461342c2cb3b4a67036b5c22b
	ea5abbd215b749b2ff14397a47a5e65741c67bf4
	cc890cd78acd7ab03442907d354b6af34e973cb3

the file ...$platform/mach/gpio.h is replaced with an empty file. This disagrees with kernel tradition and kernel makefiles, where zero length files are intentionally deleted when "make distclean" is executed.

It would really help to have a hook in git which catches this at commit time with a warning (like is possible for whitespace). At least that would alert folk to the problem at commit time before stuff has been published.

Signature · 3 lines
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of: