metastore 1.1.1

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. It was originally written as a supplement to git, which does not store all metadata, making it unsuitable for e.g. storing /etc in a repository. 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.

Tags c linux archiving console
License GNU GPL
State stable

Recent Releases

1.1.104 Dec 2017 04:24 major bugfix: * BUGFIX: Reading metadata file with extended attributes entries led to corruption of metadata represented in memory on 64-bit platforms, so applying could led to corruption of metadata on disk too. Bug discovered thanks to Uros Juvan.
1.1.002 Feb 2016 20:49 minor feature: * BUGFIX: Applying metadata with extended attribute having null byte in value zeroed all following bytes of this xattr value. * BUGFIX: Reading extended attributes while not having permissions resulted in crash. * Empty directories not present in metadata can be now removed when applying stored metadata if -E / --remove-empty-dirs option is used. * Stored metadata (in .metadata file by default) and real metadata (from filesystem) can be now dumped in human-readable form using new action: -d / --dump. Please do not rely on its current format! * Scripts in example/ directory do not require bash anymore and there is a new example for post checkout hook. * Dependency on libattr's xattr.h header has been removed. As long as your libc provides sys/xattr.h (glibc does it since v2.3), everything should be fine. * Dependency on libbsd has been added. It's used by dump action.