summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--README2
-rw-r--r--metastore.txt88
3 files changed, 93 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 8d84b6c..8e6a48c 100644
--- a/Makefile
+++ b/Makefile
@@ -74,6 +74,10 @@ metastore: $(OBJECTS)
$(LINK) -o $@ $^ $(LIBS)
+metastore.txt: $(MANPAGES)
+ groff -mandoc -Kutf8 -Tutf8 $^ | col -bx >$@
+
+
install: all $(MANPAGES)
$(INSTALL) -d $(DESTDIR)$(MANDIR)/man1/
$(INSTALL_DATA) $(filter %.1,$^) $(DESTDIR)$(MANDIR)/man1/
diff --git a/README b/README
index 6c9e881..6411b78 100644
--- a/README
+++ b/README
@@ -28,7 +28,7 @@ metastore stores following metadata in its files:
Usage
-----
-See man1/metastore.1 file, which is the manual page.
+See metastore.txt file, which is plain-text version of the manual page.
File format
diff --git a/metastore.txt b/metastore.txt
new file mode 100644
index 0000000..aaaa4f3
--- /dev/null
+++ b/metastore.txt
@@ -0,0 +1,88 @@
+metastore(1) General Commands Manual metastore(1)
+
+
+
+NAME
+ metastore - stores and restores filesystem metadata
+
+SYNOPSIS
+ metastore ACTION [OPTION...] [PATH...]
+
+DESCRIPTION
+ Stores or restores metadata (owner, group, permissions, xattrs and
+ optionally mtime) for a filesystem tree. This can be used to preserve
+ the metadata in situations where it is usually not stored (git and tar
+ for example) or as a tripwire like mechanism to detect any changes to
+ metadata. Note that e.g. SELinux stores its labels in xattrs so care
+ should be taken when applying stored metadata to make sure that system
+ security is not compromised.
+
+ACTIONS
+ -c, --compare
+ Shows the difference between the stored and real metadata.
+
+ -s, --save
+ Saves the current metadata to ./.metadata or to the specified
+ file (see --file option below).
+
+ -a, --apply
+ Attempts to apply the stored metadata to the file system.
+
+ -d, --dump
+ Dumps stored (if no PATH is given) or real metadata (if PATH is
+ present, e.g. ./) in human-readable form.
+
+ This action is meant only as a helpful debugging facility or
+ merge conflict helper. Do not ever compare its output generated
+ using different metastore version. Do not rely on current output
+ format (especially in batch scripts), because it may change in
+ future without prior notice.
+
+ -h, --help
+ Prints a help message and exits.
+
+OPTIONS
+ -v, --verbose
+ Causes metastore to print more verbose messages. Can be repeated
+ more than once for even more verbosity.
+
+ -q, --quiet
+ Causes metastore to print less verbose messages. Can be repeated
+ more than once for even less verbosity.
+
+ -m, --mtime
+ Causes metastore to also take mtime into account for the compare
+ or apply actions.
+
+ -e, --empty-dirs
+ Also attempts to recreate missing empty directories. May be use‐
+ ful where empty directories are not tracked (e.g. by git or
+ cvs). Only works in combination with the apply option.
+
+ -E, --remove-empty-dirs
+ Also attempts to remove empty directories missing from the meta‐
+ data. May be useful where empty directories are not tracked
+ (e.g. by git or cvs). Only works in combination with the apply
+ option.
+
+ -g, --git
+ Prevents metastore from omitting .git directories.
+
+ -f <file>, --file <file>
+ Causes the metadata to be saved, read from the specified file
+ rather than ./.metadata.
+
+PATHS
+ If no path is specified, metastore will use the current directory as
+ the basis for the actions. This is the recommended way of executing
+ metastore. Alternatively, one or more paths can be specified and they
+ will each be examined. Later invocations should be made using the exact
+ same paths to ensure that the stored metadata is interpreted correctly.
+
+AUTHOR
+ Written by David Härdeman <david@hardeman.nu>
+
+
+
+
+ September 2015 metastore(1)