Skip to content

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

@jimrandomh

Description

@jimrandomh

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions