.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "metamonger 3pm" .TH metamonger 3pm "2021-04-09" "perl v5.32.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" metamonger \- Save, diff, and restore filesystem metadata .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBmetamonger\fR [\fB\-\-config\fR|\fB\-\-debug\fR|\fB\-v\fR|\fB\-\-verbose\fR] .PP \&\fBmetamonger\fR {\fBdiff\fR | \fBrestore\fR | \fBsave\fR | \fBstatus\fR} [\fB\-L\fR|\fB\-\-derefence\fR|\fB\-P\fR|\fB\-\-no\-dereference\fR] [\fB\-n\fR|\fB\-\-no\-act\fR] [\fB\-\-untracked\fR=[\fIno\fR|\fInormal\fR|\fIall\fR]] [\fI] .PP \&\fBmetamonger\fR {\fBhelp\fR | \fBversion\fR} .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBmetamonger\fR allows you to store file metadata as returned by \fBstat\fR\|(1) in a text file. .PP By default, it saves only mtime on files. Other attributes an .SS "Storage format" .IX Subsection "Storage format" The storage format is plain \s-1JSON,\s0 but reformatted so that every entry and all its data is on one line. This allows for easy integration with \fBgit\fR\|(1), \fBsvn\fR\|(1), and other \s-1VCS.\s0 It also allows for editing by hand should you so please. .SS "Name" .IX Subsection "Name" \&\fBmetamonger\fR stands for monging metadata. \&\*(L"meta\*(R" as in metadata; \&\*(L"monging\*(R" as in dealing with or selling something (fishmonger) and pushing for something unpleasant (warmonger). .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-\-config\fR" 8 .IX Item "--config" Specify custom config file. .IP "\fB\-\-debug\fR" 8 .IX Item "--debug" Print debug messages. .IP "\fB\-\-dereference|\-L\fR" 8 .IX Item "--dereference|-L" Always follow symlinks. This is the default. .IP "\fB\-\-no\-dereference|\-P\fR" 8 .IX Item "--no-dereference|-P" Never follow symlinks. .IP "\fB\-\-no\-act|\-n\fR" 8 .IX Item "--no-act|-n" Do not act; print results only. .IP "\fB\-\-untracked\fR" 8 .IX Item "--untracked" Show untracked files: None, default, or all. .IP "\fB\-\-verbose|\-v\fR" 8 .IX Item "--verbose|-v" Print verbose messages. .SH "COMMANDS" .IX Header "COMMANDS" .IP "\fBdiff\fR [\fIpath\fR]" 8 .IX Item "diff [path]" Diff between stored and live metadata. .IP "\fBhelp\fR" 8 .IX Item "help" Display this help. .IP "\fBrestore\fR [\fIpath\fR]" 8 .IX Item "restore [path]" Restore metadata to file system. .IP "\fBsave\fR [\fIpath\fR]" 8 .IX Item "save [path]" Write metadata to file. .IP "\fBstatus\fR [\fIpath\fR]" 8 .IX Item "status [path]" Show status .IP "\fBversion\fR" 8 .IX Item "version" Display version information. .SH "SECURITY CONSIDERATIONS" .IX Header "SECURITY CONSIDERATIONS" \&\fBmetamonger\fR can set metadata on files. This means it is able to add/remove write permissions. It can also change the modification times of files, potentially making \fBmake\fR\|(1) ignore them in a rebuild. Don't act stupidly, as \fBmetamonger\fR will happily allow you to shoot yourself in the foot; same as \fBrm\fR\|(1). .SH "BUGS" .IX Header "BUGS" None are known at this time, but reports and/or patches are more than welcome. .SH "AUTHOR" .IX Header "AUTHOR" This POD/manpage and \fBmetamonger\fR itself were written by Richard \*(L"RichiH\*(R" Hartmann. .PP Errietta \*(L"erry\*(R" Kostala made significant contributions and implemented the test suite from scratch. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2012\-2013 Richard Hartmann . .PP Licensed under the \s-1GNU GPL\s0 version 2 or higher. .PP https://github.com/RichiH/metamonger .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBstat\fR\|(1), \fBstat\fR\|(2)