rsms / estrella

Lightweight and versatile build tool based on the esbuild compiler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spurious rebuilds in `watch` mode due to change in `.git/index.lock`

jimrandomh opened this issue · comments

Some git operations take a lock in the .git directory, by doing operations on .git/index.lock, without changing anything else. In particular, git diff --cached --shortstat does this (and is run automatically by my shell prompt, so quite often). When this happens, Estrella picks up .git/index.lock as a change and triggers a rebuild:

[DEBUG] fsevent (raw) 'moved' '.git/index.lock' {
  path: '[MYPROJECTDIR]/.git/index.lock',
  flags: 71936,
  event: 'moved',
  type: 'file',
  changes: { inode: false, finder: false, access: false, xattrs: false }
}
[DEBUG] fsevent (derived) move .git/index -> .git/index.lock
[DEBUG] fsevent (raw) 'moved' '.git/index' {
  path: '[MYPROJECTDIR]/.git/index',
  flags: 67584,
  event: 'moved',
  type: 'file',
  changes: { inode: false, finder: false, access: false, xattrs: false }
}
[DEBUG] fsevent (raw) 'moved' '.git/index' {
  path: '[MYPROJECTDIR]/.git/index',
  flags: 67584,
  event: 'moved',
  type: 'file',
  changes: { inode: false, finder: false, access: false, xattrs: false }
}
[DEBUG] fsevent (derived) move .git/index -> .git/index
1 file changed: .git/index