Dist::...therDir(3pm)
π NAME π
okay so bestie, this right here is a User Contributed Perl Documentation page, and the main character is Dist::Zilla::Plugin::Git::GatherDir(3pm) β¨ β it gathers all the tracked files in a Git working directory. that's the whole plot. no cap. π
πΈ VERSION πΈ
version 2.052. iconic. obsessed. π
π¦ SYNOPSIS π¦
drop this in your dist.ini and you are so set, fr fr:
[Git::GatherDir]
root = . ; this is the default
prefix = ; this is the default
include_dotfiles = 0 ; this is the default
include_untracked = 0 ; this is the default
exclude_filename = dir/skip ; there is no default
exclude_match = ^local_ ; there is no default
π DESCRIPTION π
So like, this is a little trivial variant of the GatherDir plugin π«Ά. It looks in the directory you name in the root attribute and adds all the Git tracked files it finds there (as determined by git ls-files). And ooh β if root starts with a tilde, that tilde portion gets passed through glob() first. cute, right? π§
Most users?? genuinely just need:
[Git::GatherDir]
...and boom, it picks up all tracked files from the current directory into the dist. π
You can use it multiple times, just like you can any other plugin, by giving it a plugin name. Lowkey a slay. For example, if you wanna include external specification files into a subdir of your dist, you might write:
[Git::GatherDir]
; this plugin needs no config and gathers most of your files
[Git::GatherDir / SpecFiles]
; this plugin gets all tracked files in the root dir and adds them under ./spec
root = ~/projects/my-project/spec
prefix = spec
π ATTRIBUTES π
This plugin inherits attributes from Dist::Zilla::Plugin::GatherDir, with the following modifications β and yes, every single one matters:
rootβ See"root" in Dist::Zilla::Plugin::GatherDir. It does not need to be the root of a Git repository, but it must be inside a repository. sorry bestie, that's the rule πinclude_untrackedβ By default, files not tracked by Git will not be gathered. But! If this is set to a true value, then untracked files not covered by a Git ignore pattern (i.e. those reported bygit ls-files -o --exclude-standard) are also gathered β and you'll probably want to useGit::Checkto ensure all files are checked in before a release. π
Heads up: include_untracked requires at least Git 1.5.4, but honestly you should probably not use it if your Git is older than 1.6.5.2. Versions before that would not list files matched by your .gitignore, even if they were already being tracked by Git (which means they will not be gathered, even though they should be π). Whether that is a problem depends on the contents of your exclude files (including the global one, if any).
follow_symlinksβ π¨Git::GatherDirdoes not honorGatherDir'sfollow_symlinksoption. The attribute exists (becauseGit::GatherDiris a subclass), but setting it has no effect. it's giving decorative tbh π
Directories that are symlinks will not be gathered. Instead, you'll get a message saying WARNING: %s is symlink to directory, skipping it. To suppress that warning, add that directory to exclude_filename or exclude_match. And if you actually want to gather the files in the symlinked directory, use a second instance of GatherDir or Git::GatherDir with appropriate root and prefix options. π
Files which are symlinks, though? Always gathered. periodt. π
π«Ά 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, like, email bug-Dist-Zilla-Plugin-Git@rt.cpan.org at <mailto:bug-Dist-Zilla-Plugin-Git@rt.cpan.org>). π
There is also a mailing list available for users of this distribution, over at <http://dzil.org/#mailing-list>. π
There is also an irc channel available for users of this distribution, at #distzilla on irc.perl.org at <irc://irc.perl.org/#distzilla>. come say hi, the vibes are immaculate β¨
π 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.
okay that's the whole page bestie, you ate it π this was perl v5.40.1, dated 2025-09-29, and the page is Dist::...therDir(3pm). slay, byeee π¦π
β¨
π¦ 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