threads / discuss / 17102

Recent annoying problem with Linus's git repository?

Subject: Recent annoying problem with Linus's git repository?

## tl;dr

3 messages between Jan 12, 2009 and Jan 12, 2009.

replies: 2people: 2as markdown or json

walt· Jan 12, 2009, 00:42 UTC · lore

I've been tracking Junio's git.git and Linus's kernel.git for ages, and just in the last two weeks or so I've been having a recurring problem with the file "arch/arm/mach-integrator/clock.h" from Linus.

Any time I check out an old kernel version (e.g. during a bisect) and then do a "checkout master" when I'm done fiddling, git thinks my repository is "dirty".

This is the reason for my impurity:

# git status # On branch master # Changed but not updated: # (use "git add/rm <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # deleted: arch/arm/mach-integrator/clock.h

It's always that same damned clock.h that remains in my working directory after doing the "checkout master" but it shouldn't be there -- it has indeed been deleted from branch master.

When I then do a "git reset --hard" I Am Purified! and no longer considered dirty. But why should that extra reset step be needed?

Only that one file is involved in this recurring annoyance. Can anyone figure out why, or at least reproduce the problem?

Thanks!
Marco Roeland· Jan 12, 2009, 07:59 UTC · re: walt · lore

Re: Recent annoying problem with Linus's git repository?

On Sunday January 11th 2009 at 16:42 walt wrote:
Show 27 quoted lines
> I've been tracking Junio's git.git and Linus's kernel.git for ages,
> and just in the last two weeks or so I've been having a recurring
> problem with the file "arch/arm/mach-integrator/clock.h" from Linus.
> 
> Any time I check out an old kernel version (e.g. during a bisect)
> and then do a "checkout master" when I'm done fiddling, git thinks
> my repository is "dirty".
> 
> This is the reason for my impurity:
> 
> # git status
> # On branch master
> # Changed but not updated:
> #   (use "git add/rm <file>..." to update what will be committed)
> #   (use "git checkout -- <file>..." to discard changes in working directory)
> #
> #       deleted:    arch/arm/mach-integrator/clock.h
> 
> It's always that same damned clock.h that remains in my working
> directory after doing the "checkout master" but it shouldn't be
> there -- it has indeed been deleted from branch master.
> 
> When I then do a "git reset --hard" I Am Purified! and no longer
> considered dirty.  But why should that extra reset step be needed?
> 
> Only that one file is involved in this recurring annoyance.  Can
> anyone figure out why, or at least reproduce the problem?

It is because commit d72fbdf01fc77628c0b837d0dd2fd564fa26ede6 "[ARM] integrator: convert to clkdev and lookup clocks by device name" didn't really _delete_ file arch/arm/mach-integrator/clock.h but only made it empty. So the file still exists in the repository, but with size 0.

Cleanup scripts within the kernel build environment however always consider empty files leftover products from the build and so delete them.

That's why you get this result, after cleaning up.

The file should probably just be really deleted. Adding Russell to the Cc. ;-)

At the moment (git describe gives v2.6.29-rc1-1-gae04d14) this is the only "empty" file in the kernel repository. We've had these cases before.

-- 
Marco Roeland
Marco Roeland· Jan 12, 2009, 08:29 UTC · re: Marco Roeland · lore

Re: Recent annoying problem with Linus's git repository?

On Monday January 12th 2009 at 08:59 Marco Roeland wrote:
> The file should probably just be really deleted. Adding Russell to the
> Cc. ;-)
Andrew Price already reported the issue and sent a patch last Wednesday:
http://marc.info/?l=linux-kernel&m=123134235028543&w=2
-- 
Marco Roeland, who should check all his mailing lists before answering

← back to recent threads