summaryrefslogtreecommitdiff
path: root/metastore.txt
diff options
context:
space:
mode:
Diffstat (limited to 'metastore.txt')
-rw-r--r--metastore.txt35
1 files changed, 33 insertions, 2 deletions
diff --git a/metastore.txt b/metastore.txt
index f3d7d55..39fdf5e 100644
--- a/metastore.txt
+++ b/metastore.txt
@@ -87,9 +87,40 @@ FORMATS
0 The original and default format, it is a compact binary repre‐
sentation of the file metadata stored.
+ 1 This format is a tab-separated, line-based text representation
+ of the file metadata stored. Is is not as compact as Format 0,
+ but is designed to integrate with text-based version control
+ mechanisms, like diffs, patches, merges, and conflicts.
+
+ After the signature/version header line, the format is:
+
+ <path> <owner> <group> <mode> <mtime> [<xattr name> <xattr value> ...]
+
+ Where owner and group are names, not ids, mode is the octal rep‐
+ resentation of the 16-bit "file type and mode" field described
+ in inode(7), and mtime is the ISO-8601 extended format represen‐
+ tation of the last-modified time in UTC, with nanosecond preci‐
+ sion.
+
+ Strings are URL-encoded, and all characters from 0x00 to 0x20
+ (inclusive), 0x25 (%) and 0x7F must be encoded.
+
+ As mentioned above, the format is primarily designed to be com‐
+ patible with version control tools. It is secondarily designed
+ to be mostly-readable by humans like you, because humans use
+ those tools. It is not specifically designed to be written by
+ humans. In the case of merge conflicts that require intervention
+ it is recommended that you pick one existing version of an en‐
+ try, rather than trying to edit one of your own with aspects of
+ both. (Or manually reset the file permissions, and re-generate
+ the metainfo file.) Particularly, because bytes >= 0x80 are not
+ URL-encoded, binary xattr data probably won't be UTF-8 clean, so
+ you may have a hard time doing anything other than deleting un‐
+ wanted lines with many editors.
+
AUTHORS
- metastore was created by David Härdeman in 2007-2008. Now it is main‐
- tained by Przemysław Pawełczyk. All source code contributors are
+ metastore was created by David Härdeman in 2007-2008. Now it is main‐
+ tained by Przemysław Pawełczyk. All source code contributors are
listed in the AUTHORS file.