GNOME Bugzilla – Bug 597133
git won't work correctly if beagle is running on a filesystem with xattrs
Last modified: 2018-07-03 09:49:29 UTC
The problem is fairly simple: git uses a file's ctime as a short cut in its index to see if the file or its permissions have altered. If the ctime differs from the one in its index, git assumes the file has changed until git update-index --refresh is run to force a hash and permissions comparison with the index. Beagle uses xattrs to store hashes and information about certain types of file, most notably C. altering information in an xattr also changes a file ctime. This means that if you use git to check in updated files, there's a race where git uses the modified ctime to create the index, then beagle runs and updates the xattr and ctime for the file, then git thinks the tree has been altered when it hasn't and refuses to do a wide selection of operations until the ctimes in the index are brought back into sync
Beagle is not under active development anymore and had its last code changes in early 2011. Its codebase has been archived (see bug 796735): https://gitlab.gnome.org/Archive/beagle/commits/master "tracker" is an available alternative. Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this ticket (or rather transfer the project to GNOME Gitlab, as GNOME Bugzilla is deprecated) if anyone takes the responsibility for active development again.