DUNAMAI(1)
π 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--formatis used (default:None)--no-metadataβ Never include metadata. Ignored when--formatis used (default:None)--dirtyβ Include dirty flag if applicable. Ignored when--formatis used (default:False)--tagged-metadataβ Include tagged metadata if applicable. Ignored when--formatis 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 namedbase, and that group corresponds to the release segment of the source. optionally, it may contain another two groups namedstageandrevision, which correspond to a prerelease type (like'alpha'or'rc') and number (like in'alpha-2'or'rc3'). it may also contain a group namedtagged_metadatafor extra metadata after the main part of the version (typically after a plus sign). there may also be a group namedepochfor the PEP 440 concept. and here's the plot twist β if thebasegroup 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 to0.0.0(default:False) π¨--path PATHβ Directory to inspect, if not the current working directory (default:None)--debugβ Display additional information onstderrfor troubleshooting (default:False) π--bumpβ Increment the last part of the versionbaseby 1, unless thestageis set, in which case increment therevisionby 1 or set it to a default of 2 if there was norevisionDoes 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-metadataall get ignored when--formatis 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
- fedora 43: python3-dunamai 1.26.2-1.fc43 Β· MIT
- fedora 44: python3-dunamai 1.26.2-1.fc44 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms