The file path/to/unmodified-file is (unsurprisingly) already committed to the repo and unmodified (both in staging and worktree). In this case, I would expect that fileStatus.Worktree == git.Unmodified. However, the following happens:
I'm unsure if this behaviour is intentional and I've just misunderstood how Status is supposed to work (in which case I might suggest at least clearing up the docs a little bit) or if this is an actual bug. 🤷♂
I'm using (more like, trying to use) this library to determine if certain files in a Git repository have been modified or not.
This was my approach (error handling omitted for brevity):
The file
path/to/unmodified-file
is (unsurprisingly) already committed to the repo and unmodified (both in staging and worktree). In this case, I would expect thatfileStatus.Worktree == git.Unmodified
. However, the following happens:This seems to occur because
Untracked
is kind of the "default" status:https://github.com/src-d/go-git/blob/1a7db85bca7027d90afdb5ce711622aaac9feaed/status.go#L15-L21
I'm unsure if this behaviour is intentional and I've just misunderstood how
Status
is supposed to work (in which case I might suggest at least clearing up the docs a little bit) or if this is an actual bug. 🤷♂