diff options
author | Przemyslaw Pawelczyk <przemoc@gmail.com> | 2015-02-07 18:41:51 +0100 |
---|---|---|
committer | Przemyslaw Pawelczyk <przemoc@gmail.com> | 2015-02-07 18:41:51 +0100 |
commit | 8b96e197acdad31cc8526dbb82230f2c307e6bee (patch) | |
tree | 1088a97ef6d00c6c6dbe6e78bdc633853db938de /README | |
parent | 9451127e061ad3121d4df962fd132611d549d404 (diff) |
README: Update it a bit and mention this metastore status.
New description shamelessly copied from David's software page:
http://david.hardeman.nu/software.php (https://archive.today/vW7Ar)
Diffstat (limited to 'README')
-rw-r--r-- | README | 109 |
1 files changed, 79 insertions, 30 deletions
@@ -1,46 +1,95 @@ -metastore stores or restores metadata (owner, group, permissions, xattrs -and optionally mtime) for a filesystem tree. +metastore +========= -See the manpage (metastore.1) for more details. +metastore is a tool to store the metadata of files/directories/links in +a file tree to a separate file and to later compare and apply the stored +metadata to said file tree. -The file format of the .metastore files is as follows: +It was written as a supplement to git which does not store all metadata, +making it unsuitable for e.g. storing /etc in a repository. -Data types ----------- +metastore can also be helpful if you want to create a tarball of a file +tree and make sure that "everything" (e.g. xattrs, mtime, owner, group) +is stored along with the files. -CSTRING = NULL-terminated binary string -BSTRING(N) = binary string of length N +This metastore is unofficial continuation of the original metastore +application created by David Härdeman (who no longer maintains it). -INT(N) = N byte integer in big endian byte order + +Stored metadata +--------------- + +metastore stores following metadata in its files: + +- owner, +- group, +- permissions, +- xattrs, +- mtime - optionally. + + +Usage +----- + +See the manual page (metastore.1) for details on usage. File format ----------- -HEADER -N * ENTRY +Following sections explain internals of .metastore files. + + +### Data types + + CSTRING = NUL-terminated binary string + BSTRING(N) = binary string of length N + INT(N) = N byte integer in big endian byte order + + +### File layout + + HEADER + N * ENTRY -HEADER format -------------- -BSTRING(10) - Magic header - "MeTaSt00r3" -BSTRING(8) - Version - "\0\0\0\0\0\0\0\0" (currently) +### HEADER format -ENTRY format ------------- -CSTRING - Path (absolute or relative) -CSTRING - Owner (owner name, not uid) -CSTRING - Group (group name, not gid) + BSTRING(10) - Magic header - "MeTaSt00r3" + BSTRING(8) - Version - "\0\0\0\0\0\0\0\0" (currently) + + +### ENTRY format + + CSTRING - Path (absolute or relative) + CSTRING - Owner (owner name, not uid) + CSTRING - Group (group name, not gid) + + INT(8) - Mtime (seconds) + INT(8) - Mtime (nanoseconds) + INT(2) - Mode (st_mode from struct stat st_mode AND 0177777, + i.e. unix permissions and type of file) + + INT(4) - num_xattrs + FOR (i = 0; i < num_xattrs; i++) { + CSTRING - xattr name + INT(4) - xattrlen + BSTRING(xattrlen) - xattr value + } + + +License +------- + +The project is licensed under the terms of the GNU GPL v2 license. +See LICENSE file for the full license text. + + +Bug reports +----------- -INT(8) - Mtime (seconds) -INT(8) - Mtime (nanoseconds) -INT(2) - Mode (st_mode from struct stat st_mode AND 0177777, - i.e. unix permissions and type of file) +Please use the issue tracker provided by GitHub to send bug reports +or feature requests. -INT(4) - num_xattrs -FOR (i = 0; i < num_xattrs; i++) { - CSTRING - xattr name - INT(4) - xattrlen - BSTRING(xattrlen) - xattr value -} +https://github.com/przemoc/metastore/issues |