From: Omar Polo Subject: Re: checkout -E and existing files To: Christian Weisgerber Cc: gameoftrees@openbsd.org Date: Fri, 15 Sep 2023 23:42:22 +0200 On 2023/09/15 22:14:19 +0200, Christian Weisgerber 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.