examples/git-metapull: Apply stored metadata with -e -E options.
[metastore.git] / metastore.txt
blobaaaa4f349b69270d05fffa465ae5ab91e90eb04a
1 metastore(1)                General Commands Manual               metastore(1)
5 NAME
6        metastore - stores and restores filesystem metadata
8 SYNOPSIS
9        metastore ACTION [OPTION...] [PATH...]
11 DESCRIPTION
12        Stores  or  restores  metadata  (owner,  group, permissions, xattrs and
13        optionally mtime) for a filesystem tree. This can be used  to  preserve
14        the  metadata in situations where it is usually not stored (git and tar
15        for example) or as a tripwire like mechanism to detect any  changes  to
16        metadata.  Note  that e.g.  SELinux stores its labels in xattrs so care
17        should be taken when applying stored metadata to make sure that  system
18        security is not compromised.
20 ACTIONS
21        -c, --compare
22               Shows the difference between the stored and real metadata.
24        -s, --save
25               Saves  the  current  metadata to ./.metadata or to the specified
26               file (see --file option below).
28        -a, --apply
29               Attempts to apply the stored metadata to the file system.
31        -d, --dump
32               Dumps stored (if no PATH is given) or real metadata (if PATH  is
33               present, e.g. ./) in human-readable form.
35               This  action  is  meant  only as a helpful debugging facility or
36               merge conflict helper. Do not ever compare its output  generated
37               using different metastore version. Do not rely on current output
38               format (especially in batch scripts), because it may  change  in
39               future without prior notice.
41        -h, --help
42               Prints a help message and exits.
44 OPTIONS
45        -v, --verbose
46               Causes metastore to print more verbose messages. Can be repeated
47               more than once for even more verbosity.
49        -q, --quiet
50               Causes metastore to print less verbose messages. Can be repeated
51               more than once for even less verbosity.
53        -m, --mtime
54               Causes metastore to also take mtime into account for the compare
55               or apply actions.
57        -e, --empty-dirs
58               Also attempts to recreate missing empty directories. May be use‐
59               ful  where  empty  directories  are  not tracked (e.g. by git or
60               cvs).  Only works in combination with the apply option.
62        -E, --remove-empty-dirs
63               Also attempts to remove empty directories missing from the meta‐
64               data.  May  be  useful  where  empty directories are not tracked
65               (e.g. by git or cvs).  Only works in combination with the  apply
66               option.
68        -g, --git
69               Prevents metastore from omitting .git directories.
71        -f <file>, --file <file>
72               Causes  the  metadata  to be saved, read from the specified file
73               rather than ./.metadata.
75 PATHS
76        If no path is specified, metastore will use the  current  directory  as
77        the  basis  for  the  actions. This is the recommended way of executing
78        metastore.  Alternatively, one or more paths can be specified and  they
79        will each be examined. Later invocations should be made using the exact
80        same paths to ensure that the stored metadata is interpreted correctly.
82 AUTHOR
83        Written by David Härdeman <david@hardeman.nu>
88                                 September 2015                    metastore(1)