[GIT PATCH] STAGING patches for 2.6.31-git

Linus Torvalds torvalds at linux-foundation.org
Wed Sep 16 08:26:14 PDT 2009



On Tue, 15 Sep 2009, Greg KH wrote:
> 
> Overall, we almost broke even with our cleanups and removals for what
> was done here:
>  1267 files changed, 297615 insertions(+), 214568 deletions(-)

Actually, it's

 1253 files changed, 287789 insertions(+), 209389 deletions(-)

but there are so many changed files that the default rename detection 
limit kicks in, and your git will have only looked at 100% identical 
renames. So you missed things like:

 rename drivers/staging/{rt2860 => rt3090}/link_list.h (99%)
 copy drivers/staging/{rt2870/md4.h => rt3090/mlme_ex.h} (56%)
 copy drivers/staging/{rt2860/md4.h => rt3090/mlme_ex_def.h} (67%)
 copy drivers/staging/{rt2860/md4.h => rt3090/netif_block.h} (72%)
 rename drivers/staging/{rt2870/md4.h => rt3090/rt33xx.h} (79%)
 ...

Now, admittedly the 'copy' ones are dubious: it's picking up on the 
f*cking Ralink GPL copyright template, which is the bulk of those files. 
But that in itself is interesting information, even if I personally find 
mindless copyright templates very annoying.

Anyway, extended rename detection (ie the non-exact one that can't just 
look at the SHA1's and say "those are identical") gets disabled if your 
rename matrix is large (cost function: n*m where 'n' is number of added 
files, and 'm' is number of deleted ones), which triggers for your staging 
tree because you had both deletions and creations.

The default git limit is set fairly low, because it's set for small 
machines with limited amounts of memory in particular. I suspect you might 
want to add

	[diff]
		renamelimit=0

to your ~/.gitconfig, since you probably don't use particularly weak 
machines, and that will disable the limiting. Then you'd get the full 
renames in all their glory.

Without it, you'll see just:

 copy drivers/staging/{rtl8192su => rtl8192e}/dot11d.h (100%)
 rename drivers/staging/{rtl8192su => rtl8192e/ieee80211}/dot11d.h (100%)
 rename drivers/staging/{rtl8192su => rtl8192e}/ieee80211/rtl_crypto.h (100%)
 rename drivers/staging/{rtl8187se => rtl8192e}/ieee80211_crypt.h (100%)

while with it, you'll see examples of lots of cases of header files where 
there is more copyright header than actual content ;(

		Linus


More information about the devel mailing list