threads / discuss / 26266

Forcing re-reading files with unchanged stats

Subject: Forcing re-reading files with unchanged stats

## tl;dr

5 messages between Jan 12, 2011 and Jan 14, 2011.

replies: 4people: 4as markdown or json

Maaartin· Jan 12, 2011, 14:07 UTC · lore

There are files in my working tree which changes, but their size and mtime remains the same (I know it's strange, but it's useful). Can I make git to re- read them all, so it recognizes the change? Ideally, using a configuration variable. The repo is fairly small, so speed is no issue here.

Tomas Carnecky· Jan 13, 2011, 03:12 UTC · re: Maaartin · lore

Re: Forcing re-reading files with unchanged stats

  On 1/12/11 3:07 PM, Maaartin wrote:
> There are files in my working tree which changes, but their size and mtime
> remains the same (I know it's strange, but it's useful). Can I make git to re-
When can this be useful?
> read them all, so it recognizes the change? Ideally, using a configuration
> variable. The repo is fairly small, so speed is no issue here.

Try git update-index --refresh. I'm not aware of any config option, but you might want to look through man git-config.

tom
Jeff King· Jan 13, 2011, 03:32 UTC · re: Tomas Carnecky · lore

Re: Forcing re-reading files with unchanged stats

On Thu, Jan 13, 2011 at 04:12:25AM +0100, Tomas Carnecky wrote:
Show 11 quoted lines
>  On 1/12/11 3:07 PM, Maaartin wrote:
> >There are files in my working tree which changes, but their size and mtime
> >remains the same (I know it's strange, but it's useful). Can I make git to re-
> 
> When can this be useful?
> 
> >read them all, so it recognizes the change? Ideally, using a configuration
> >variable. The repo is fairly small, so speed is no issue here.
> 
> Try git update-index --refresh. I'm not aware of any config option,
> but you might want to look through man git-config.

That won't work, as it respects the stat information. So does --really-refresh. AFAIK, there isn't a way to tell update-index to ignore start information, short of blowing away the index entirely, and doing a read-tree to repopulate it.

I'm curious what this use case is, and whether it would be acceptable to update something like ctime on the files to make them stat-dirty to git.

-Peff
Junio C Hamano· Jan 13, 2011, 07:26 UTC · re: Jeff King · lore

Re: Forcing re-reading files with unchanged stats

Jeff King <peff@peff.net> writes:
> I'm curious what this use case is, and whether it would be acceptable to
> update something like ctime on the files to make them stat-dirty to git.

Changing crlf-related attributes (or filter/smudge) after the fact, perhaps?

Maaartin-1· Jan 14, 2011, 21:03 UTC · re: Jeff King · lore

Re: Forcing re-reading files with unchanged stats

On 11-01-13 04:32, Jeff King wrote:
Show 7 quoted lines
> On Thu, Jan 13, 2011 at 04:12:25AM +0100, Tomas Carnecky wrote:
> 
>>  On 1/12/11 3:07 PM, Maaartin wrote:
>>> There are files in my working tree which changes, but their size and mtime
>>> remains the same (I know it's strange, but it's useful). Can I make git to re-
>>
>> When can this be useful?

Well, not really. I was asked to place a line containing a version number and a fingerprint in each file (of course the fingerprint must ignore this line), so I did. This gets done using a script, and I didn't like always saying "yes" to Emacs complaining about editing a file changed on the disk, so I reset the mtime. I really don't think it was the brightest idea ever.

Show 10 quoted lines
>>> read them all, so it recognizes the change? Ideally, using a configuration
>>> variable. The repo is fairly small, so speed is no issue here.
>>
>> Try git update-index --refresh. I'm not aware of any config option,
>> but you might want to look through man git-config.
> 
> That won't work, as it respects the stat information. So does
> --really-refresh. AFAIK, there isn't a way to tell update-index to
> ignore start information, short of blowing away the index entirely, and
> doing a read-tree to repopulate it.

Blowing away the index could work for me. I had to check if it's clean (equal to the HEAD or working tree) first, so I loose no work. But this is a bit too much work for making my mtime hack work.

> I'm curious what this use case is, and whether it would be acceptable to
> update something like ctime on the files to make them stat-dirty to git.
I'd suppose, Emacs does the same checks.

← back to recent threads