DUNAMAI(1)

πŸ“¦
version 1.26.2 Β· 5 versions
, in fedora 43, fedora 44

πŸ’… DUNAMAI πŸ’…

okay so bestie, welcome to DUNAMAI(1) β€” it lives in the User Commands section of the manual, and today's whole vibe is dunamai from subversion. grab a lil snack, we're doing this together 🫢


✨ NAME ✨

dunamai β€” dunamai from subversion

like. that's it. that's the name. iconic behavior honestly πŸ‘‘


🌸 DESCRIPTION 🌸

here's the whole shape of it, verbatim, no cap:

usage: dunamai from subversion [-h] [--metadata] [--no-metadata] [--dirty]
       [--tagged-metadata] [--pattern PATTERN]
       [--pattern-prefix PATTERN_PREFIX] [--format FORMAT] [--style
       {pep440,semver,pvp}] [--latest-tag] [--highest-tag] [--strict]
       [--path PATH] [--debug] [--bump] [--commit-length COMMIT_LENGTH]
       [--commit-prefix COMMIT_PREFIX] [--escape-with ESCAPE_WITH]
       [--tag-dir TAG_DIR]

Generate version from Subversion πŸ’– that's the job. that's the assignment. and she ate.


πŸ”₯ options πŸ”₯

every single one of them, in order, nothing skipped, because we do NOT gatekeep here πŸŽ€

  • -h, --help β€” show this help message and exit. the classic. the "bestie what do i do" button πŸ™ˆ
  • --metadata β€” Always include metadata. Ignored when --format is used (default: None)
  • --no-metadata β€” Never include metadata. Ignored when --format is used (default: None)
  • --dirty β€” Include dirty flag if applicable. Ignored when --format is used (default: False)
  • --tagged-metadata β€” Include tagged metadata if applicable. Ignored when --format is used (default: False)
  • --pattern PATTERN β€” a regular expression that gets matched against the version source. the tea β˜• is that it must contain one capture group named base, and that group corresponds to the release segment of the source. optionally, it may contain another two groups named stage and revision, which correspond to a prerelease type (like 'alpha' or 'rc') and number (like in 'alpha-2' or 'rc3'). it may also contain a group named tagged_metadata for extra metadata after the main part of the version (typically after a plus sign). there may also be a group named epoch for the PEP 440 concept. and here's the plot twist β€” if the base group is not present, then instead this will be interpreted as a named preset, which may be one of the following: default, default-unprefixed (default: (?x) (?# ignore whitespace) ^v((?P<epoch>\d+)!)?(?P<base>\d+(\.\d+)*) (?# v1.2.3 or v1!2000.1.2) ([-._]?((?P<stage>[a-zA-Z]+)[-._]?(?P<revision>\d+)?))? (?# b0) (\+(?P<tagged_metadata>.+))?$ (?# +linux))) β€” yeah it's a whole paragraph, she's thorough, we love her πŸ’…
  • --pattern-prefix PATTERN_PREFIX β€” Insert this after the pattern's start anchor (^). (default: None)
  • --format FORMAT β€” Custom output format. the available substitutions are: {base}, {stage}, {revision}, {distance}, {commit}, {dirty}, {tagged_metadata}, {epoch}, {branch}, {branch_escaped}, {timestamp}, {major}, {minor}, {patch} (default: None) ✨
  • --style {pep440,semver,pvp} β€” Preconfigured output format. Will default to PEP 440 if not set and no custom format given. If you specify both a style and a custom format, then the format will be validated against the style's rules (default: None)
  • --latest-tag β€” Only inspect the latest tag on the latest tagged commit for a pattern match (default: False)
  • --highest-tag β€” Only inspect the numerically highest tag across all tagged commits for a pattern match (default: False)
  • --strict β€” Elevate warnings to errors. When there are no tags, fail instead of falling back to 0.0.0 (default: False) 🚨
  • --path PATH β€” Directory to inspect, if not the current working directory (default: None)
  • --debug β€” Display additional information on stderr for troubleshooting (default: False) πŸ”
  • --bump β€” Increment the last part of the version base by 1, unless the stage is set, in which case increment the revision by 1 or set it to a default of 2 if there was no revision Does nothing when on a commit with a version tag. (default: False)
  • --commit-length COMMIT_LENGTH β€” Use this many characters from the start of the full commit hash (default: None)
  • --commit-prefix COMMIT_PREFIX β€” Add this prefix when serializing commit IDs (default: None)
  • --escape-with ESCAPE_WITH β€” When escaping, replace with this substitution. The default is simply to remove invalid characters. (default: None)
  • --tag-dir TAG_DIR β€” Location of tags relative to the root (only: Subversion) (default: tags)

heads up bestie: --metadata, --no-metadata, --dirty, and --tagged-metadata all get ignored when --format is used. so if you're out here with a custom format, don't be surprised when those lil flags do absolutely nothing. that's not a bug, that's just the rules πŸ’€

and that's the whole page!! every flag, every default, every regex, all present and accounted for, fr fr πŸ’–

this was dunamai from subversion 1.26.2, dated August 2026 β€” go forth and version your Subversion repos, you absolute main character πŸŒˆβœ¨πŸ’…

πŸ“¦ where this page comes from