SVN::H...pChange(3pm)
π NAME π
SVN::Hooks::AllowPropChange β bestie, this is the plugin that lets your people change revision properties. That's it, that's the job. π
β¨ VERSION β¨
version 1.36 β we're on 1.36, no cap. π
π¦ SYNOPSIS π¦
okay so this whole page lives in the SVN::Hooks family β it's the User Contributed Perl Documentation corner of the world, section 3pm, and the module it's about is literally called SVN::Hooks::AllowPropChange (the man header shortens it to SVN::H...pChange(3pm) because apparently even manpages have a character limit, smh π).
So what does this plugin do? It lets revision (or non-versioned) properties β you know the big three: svn:author, svn:date, and svn:log β be changed by a group of users. Group chat permissions, basically, but for your repo. π«Ά
It's active in the pre-revprop-change hook. That's its whole moment.
And it gets configured by the following directive, which we're about to get into. π
πΈ ALLOW_PROP_CHANGE(PROP => WHO, ...) πΈ
This directive is the one that actually enables the change of revision properties. Slay.
By default any change is denied unless you explicitly allow it with this directive. (Yes, it's giving strict-parent energy. That's on purpose. π) You can use the directive more than once β stack it, layer it, go off. β¨
The PROP argument specifies the propertie(s) that are to be configured, and what it means depends on its type. And if no argument is given, then no user can change any property. None. Zero. Nobody. π
STRINGβ Specify a single property by name (author,date, orlog).REGEXPβ Specify all properties that match the Regexp. Matching era. π
The optional WHO arguments specify the users that are allowed to make those changes. If absent, no user can change a log message. Otherwise, it specifies the allowed users, and again it depends on its type:
STRINGβ Specify a single user by name. Just the one. πREGEXPβ Specify the class of users whose names are matched by the Regexp. Whole squad, one regex.
Like, for real, look at these:
ALLOW_PROP_CHANGE('svn:log' => 'jsilva'); # jsilva can change svn:log
ALLOW_PROP_CHANGE(qr/./ => qr/silva$/); # any *silva can change any property
First one: jsilva and only jsilva gets the svn:log keys. Second one: qr/./ matches any property and qr/silva$/ matches any user ending in silva, so any *silva can change any property. The surname-based access control is genuinely iconic ngl. π
π AUTHOR π
Gustavo L. de M. Chaves <gnustavo@cpan.org> β the actual legend behind this. π«Ά
π COPYRIGHT AND LICENSE π
This software is copyright (c) 2022 by CPqD <www.cpqd.com.br>. π’
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. So like, go forth, remix, redistribute β just keep it on the same terms, bestie. π
π§ okay that's the whole page!! no skipped options, no skipped anything, we ate and left no crumbs.
sign-off time: this whole thing was rendered with perl v5.36.0 and dated 2022-09-11, and the man page title it lives under is SVN::H...pChange(3pm). mwah. π
β¨πΈ
π¦ where this page comes from
- ubuntu noble: libsvn-hooks-perl 1.36-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libsvn-hooks-perl 1.36-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libsvn-hooks-perl 1.36-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms