"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Omar Polo <op@omarpolo.com>
Subject:
Re: checkout -E and existing files
To:
Christian Weisgerber <naddy@mips.inka.de>
Cc:
gameoftrees@openbsd.org
Date:
Fri, 15 Sep 2023 23:42:22 +0200

Download raw body.

Thread
On 2023/09/15 22:14:19 +0200, Christian Weisgerber <naddy@mips.inka.de> wrote:
> [...]
> Great.  Wait, got status says there are no differences to what's
> in the repository.  Except there are.  The CVS and Git repos are
> not in sync.  Some files _are_ different, but got seems unaware.
> That's not so great.

I've been hit by that when creating a few projects.  My interpretation
in that got doesn't overwrite the files (good) but still stores the
current timestamp in the file-index.

A subsequent got status won't check the file contents since its mtime
will be older than the checkout timestamp, so it assumes it's
untouched.

> Presumably got will eventually notice once the files that are
> different are actually changed by some operation.

`find . -type f -exec touch {} +' should be enough to make got aware.
Not a great solution indeed.

> I'm not sure what I was expecting, but the existing behavior seems ...
> not useful?

We could put a timestamp older than the one of the file upon the first
checkout.  Or just zero.  That should trigger `got status' to actually
look at the file contents.  We should do this only for files that are
already there however.