summaryrefslogtreecommitdiff
path: root/FILEFORMAT_1
AgeCommit message (Collapse)Author
2022-05-24Add ability to not save mtime in metadata filesAdam Spragg
If you're storing metadata in a version control system with multiple branches, mtime differences are going to produce a whole bunch of conflicts that you likely don't care about. This allows you to not save mtime and avoid those. Note that we use a sentinel value of -1 for the mentry `mtimensec` field to indicate this in the data, as all values of `mtime` are theoretically valid, but `mtimensec` must always be between 0 and 999,999,999 in the real world. I'm not 100% sure about the mechanism for selecting this feature. The legacy behaviour for metastore was to save mtimes in the metadata files, but ignore them for compare/apply by default, with a `--mtime` option to use the mtime data. Keeping the legacy behaviour for backwards compatibility, but adding a `--no-mtime` option to ignore mtimes when saving felt like a reasonable way of making this happen, but something about it doesn't feel great. Maybe I just didn't figure out how to make the documentation clear enough. ¯\_(ツ)_/¯
2022-05-18Sort entries in Format 1 files by path, ASCIIbetically.Adam Spragg
This ensures that the files are stable, and not subject to the order in which the OS returns directory entries. This should prevent unnecessary changes, and therefore unnecessary merge conflicts.
2022-05-18Add documentation for new Format 1Adam Spragg