Dist::...itBuild(3pm)
π NAME π
Dist::Zilla::Plugin::Git::CommitBuild β check in build results on a separate branch π«Ά
(also hi, you're reading the User Contributed Perl Documentation, and this page is giving very specific plugin energy, ok let's go π )
β¨ VERSION β¨
version 2.052 β
π SYNOPSIS π
okay so first of all, in your dist.ini, bestie:
[Git::CommitBuild]
; these are the defaults
branch = build/%b
message = Build results of %h (on %b)
multiple_inheritance = 0
that's it, that's the whole setup π
π¦ DESCRIPTION π¦
So here's the vibe: once the build is done, this plugin commits the results of that build to a branch that is completely separate from your regular code branches β like, a different root commit entirely. Not related. Strangers. Periodt. π
Why tho? Because it lowkey makes your repository so much more useful to people who don't have Dist::Zilla and all of its dependencies installed. They get the build goods without the whole toolchain situation. Iconic behavior fr fr π
The plugin accepts the following options:
branchβ aString::Formatterstring telling it where to commit the build contents. π
There's exactly one formatting code defined for this attribute: %b, and it gets swapped out for the name of the current branch in your git repository.
Defaults to build/%b β BUT, plot twist π, if you set it explicitly to an empty string, it causes no build contents checkin to be made at all. So like, nothing happens. On purpose.
release_branchβ aString::Formatterstring for where to commit the build contents.
Same as branch, except it only commits the build content after a release. There's no default, which means there's no release branch. Simple as that. πΈ
messageβ aString::Formatterstring for what commit message to use when committing the results of the build.
This option supports five formatting codes (ngl the list right below has six of them, i'm literally just the messenger π):
%bβ name of the current branch%Hβ commit hash%hβ abbreviated commit hash%vβ the release version number%Vβ the release version number, but with a leadingvremoved if it exists%tβ the string-TRIALif this is a trial release
release_messageβ aString::Formatterstring for what commit message to use when committing the results of the release.
Defaults to the same thing as message. π«Ά
multiple_inheritanceβ tells you whether the commit containing the build results should have the source commit as a parent. π
If it's false (which is the default), the build branch stays completely separate from your regular code branches. If you set it to a true value, then commits on a build branch will have two parents: the previous build commit, and the source commit from which the build was generated. Two dads. Family tree going wild. π³
π₯ SUPPORT π₯
Bugs may be submitted through the RT bug tracker at <https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Git> (or you can email bug-Dist-Zilla-Plugin-Git@rt.cpan.org β same energy, different door π).
There's also a mailing list available for users of this distribution, right here: <http://dzil.org/#mailing-list> β¨
And there's also an irc channel for users of this distribution: #distzilla on irc.perl.org (that's <irc://irc.perl.org/#distzilla> if you need the link, iykyk) π¬
π AUTHOR π
Jerome Quelin π
πΈ COPYRIGHT AND LICENCE πΈ
This software is copyright (c) 2009 by Jerome Quelin.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Slay, honestly. π
and that's the whole page, bestie!! this was rendered for perl v5.40.1, dated 2025-09-29, and it's the Dist::...itBuild(3pm) page β go commit your builds to a whole separate branch and live your main character life π π¦β
π¦ where this page comes from
- ubuntu resolute: libdist-zilla-plugin-git-perl 2.052-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libdist-zilla-plugin-git-perl 2.052-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