threads / discuss / 40996

update index mtime etc metadata

Subject: update index mtime etc metadata

## tl;dr

2 messages between Dec 14, 2015 and Dec 15, 2015.

replies: 1people: 2as markdown or json

Joey Hess· Dec 14, 2015, 20:44 UTC · lore

Is there any available plumbing that can change the mtime etc metadata that is recorded in the index for a file, to user-provided values? Or, to force the current file stat metadata to be updated in the index?

I know, git update-index --refresh, but I have a case where that's too expensive. I'm using smudge filters; I know that the cleaned version of the file will be unchanged from what's in the index now and only the stat metadata will change, and so I want to avoid git update-index --refresh running the clean filter, which can be quite expensive for a large file.

At the moment I don't see a way to do it other than using eg libgit2 to update the appropriate fields in the index structure.

-- 
see shy jo
Duy Nguyen· Dec 15, 2015, 11:17 UTC · re: Joey Hess · lore

Re: update index mtime etc metadata

On Tue, Dec 15, 2015 at 3:44 AM, Joey Hess <id@joeyh.name> wrote:
> Is there any available plumbing that can change the mtime etc metadata
> that is recorded in the index for a file, to user-provided values? Or,
> to force the current file stat metadata to be updated in the index?

I don't think there is a way. We probably should improve ls-files and update-index to examine and update basically everything in the index.. But so far, nothing yet.

Show 9 quoted lines
> I know, git update-index --refresh, but I have a case where that's too
> expensive. I'm using smudge filters; I know that the cleaned version of
> the file will be unchanged from what's in the index now and only the
> stat metadata will change, and so I want to avoid
> git update-index --refresh running the clean filter, which can
> be quite expensive for a large file.
>
> At the moment I don't see a way to do it other than using eg libgit2 to
> update the appropriate fields in the index structure.
Yeah. I see libgit2 has a haskell binding, probably best for you.
-- 
Duy

← back to recent threads