metamonger(3pm)

πŸ“¦
version 0.20210406 Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’– NAME πŸ’–

okay bestie, welcome to metamonger(3pm) β€” straight out of the User Contributed Perl Documentation section, iykyk. and what does it do?? it saves, diffs, and restores filesystem metadata. that's the whole assignment. πŸŽ€βœ¨


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the vibe, verbatim, no cap:

metamonger [--config|--debug|-v|--verbose]

metamonger {diff | restore | save | status}
       [-L|--derefence|-P|--no-dereference] [-n|--no-act]
       [--untracked=[no|normal|all]] [<path>]

metamonger {help | version}
bestie I need you to clock the <pink>--derefence</pink> up there β€” that's a typo living rent-free in the original synopsis and I am NOT fixing it, because my one job is to keep every single detail. we respect the source. periodt. πŸ’…

🌸 DESCRIPTION 🌸

so metamonger lets you store file metadata β€” like, the stuff stat(1) hands you β€” into a text file. that's it. that's the whole thing. iconic behavior honestly. πŸ‘‘

by default, it saves only mtime on files. other attributes an

okay so I'm not gonna lie to you bestie, the original manpage literally just... stops. mid-sentence. "other attributes an". that's it. that's where it ends. not me reading a truncated sentence at 3am 😭. I'm reporting it exactly as it is because rules are rules. πŸ’€

✨ Storage format ✨

the storage format is plain JSON, but reformatted so that every entry and all its data sits on one line. why? because it makes integration with git(1), svn(1), and other VCS super easy, and it also means you can hand-edit it if you're feeling spicy. πŸ“

✨ Name ✨

the lore!! metamonger stands for monging metadata.

  • "meta" as in metadata
  • "monging" as in dealing with or selling something (like a fishmonger) and also pushing for something unpleasant (like a warmonger)

so yeah, it's giving "person who deals in metadata and will absolutely hassle you about it". 🧚


πŸ’… OPTIONS πŸ’…

every single one, bestie, we're not skipping a crumb:

  • --config β€” specify a custom config file.
  • --debug β€” print debug messages.
  • --dereference, -L β€” always follow symlinks. this is the default, so it's the main character here. ⭐
  • --no-dereference, -P β€” never follow symlinks. the rebel. πŸ™ˆ
  • --no-act, -n β€” do not act; just print results only. window shopping, essentially.
  • --untracked β€” show untracked files: None, default, or all.
  • --verbose, -v β€” print verbose messages.

🌈 COMMANDS 🌈

  • diff [path] β€” diff between stored and live metadata.
  • help β€” display this help.
  • restore [path] β€” restore metadata to file system.
  • save [path] β€” write metadata to file.
  • status [path] β€” show status
  • version β€” display version information.

πŸ‘‘ SECURITY CONSIDERATIONS πŸ‘‘

okay listen up, this part is not the cute part, this is the serious part, so put your phone down for one sec. 🫢

metamonger can set metadata on files. which means it can:

  • add/remove write permissions
  • change the modification times of files β€” which can potentially make make(1) ignore them in a rebuild πŸ‘€
so don't act stupidly, bestie. metamonger will happily let you shoot yourself in the foot. same as rm(1). no notes, no take-backs, that's just how it is. πŸ’€

πŸŽ€ BUGS πŸŽ€

none are known at this time. but reports and/or patches are more than welcome β€” the maintainers are literally begging, respectfully. send them in. πŸ“¬βœ¨


πŸ’œ AUTHOR πŸ’œ

this POD/manpage and metamonger itself were written by Richard "RichiH" Hartmann.

Errietta "erry" Kostala made significant contributions and implemented the test suite from scratch. queen behavior, honestly. πŸ‘‘


copyright 2012-2013 Richard Hartmann <richih@debian.org>.

licensed under the GNU GPL version 2 or higher.

https://github.com/RichiH/metamonger


⭐ SEE ALSO ⭐

stat(1), stat(2)


and that's the whole page, bestie!! 🫢 the version vibes are perl v5.32.1, dated 2021-04-09, and honestly? that date is giving vintage but the metadata-monging energy is timeless. mwah. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from