Re: Linux 2.6.28-rc1

From: Linus Torvalds
Date: Fri Oct 24 2008 - 11:18:56 EST




On Fri, 24 Oct 2008, Alistair John Strachan wrote:
>
> git reset --hard v2.6.27 ; git clean -d -f
> git status ("Nothing to commit")

The problem is ignored files.

Yes, git claims everything is clean, but that's because it has been told
to ignore certain files, and because it has been told to ignore them, it
will not remove them (without the -x flag) in "git clean", nor will it
mention them in "git status".

And yes, one of the ignored file patterns is

include/asm-*/asm-offsets.h

which means that your "git clean -df" didn't *really* clean everything
from the old include/asm-x86, and because it didn't clean it all it also
wouldn't be able to remove the old stale directory - since it wasn't
empty.

You can use "git clean -dfx" to force git to remove ignored files too. And
"make distclean" should have done it too.

Now, _another_ part (and arguably the really core reason) of this problem
is that our Makefile rules for the asm include directory is weak and
unreliable in the presense of already-existing unexpected entries.

And it has caused problems before. For example, if you somehow made the
symlink not be a symlink at all (by using "cp -LR" for example), or a
symlink pointing to another architecture (changing architecture builds in
the same tree without doing a "make clean" in between), you historically
got really odd results.

In fact, it's broken in subtle way before to the point where we now have a
special "check-symlink" target internally that checks that the symlink is
correctly set up.

Of course, it didn't check that you had some old stuff in include/asm-x86,
it only checks for the _traditional_ problems we've had. Not some new odd
one.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/