summaryrefslogtreecommitdiff
path: root/metastore.txt
blob: aaaa4f349b69270d05fffa465ae5ab91e90eb04a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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)