1Dist::Zilla::Plugin::GiUts:e:rGaCtohnetrrDiibru(t3e)d PeDrilstD:o:cZuimlelnat:a:tPiloungin::Git::GatherDir(3)
2
3
4
6 Dist::Zilla::Plugin::Git::GatherDir - Gather all tracked files in a Git
7 working directory
8
10 version 2.048
11
13 In your dist.ini:
14
15 [Git::GatherDir]
16 root = . ; this is the default
17 prefix = ; this is the default
18 include_dotfiles = 0 ; this is the default
19 include_untracked = 0 ; this is the default
20 exclude_filename = dir/skip ; there is no default
21 exclude_match = ^local_ ; there is no default
22
24 This is a trivial variant of the GatherDir plugin. It looks in the
25 directory named in the "root" attribute and adds all the Git tracked
26 files it finds there (as determined by "git ls-files"). If the root
27 begins with a tilde, the tilde portion is passed through glob() first.
28
29 Most users just need:
30
31 [Git::GatherDir]
32
33 ...and this will pick up all tracked files from the current directory
34 into the dist. You can use it multiple times, as you can any other
35 plugin, by providing a plugin name. For example, if you want to
36 include external specification files into a subdir of your dist, you
37 might write:
38
39 [Git::GatherDir]
40 ; this plugin needs no config and gathers most of your files
41
42 [Git::GatherDir / SpecFiles]
43 ; this plugin gets all tracked files in the root dir and adds them under ./spec
44 root = ~/projects/my-project/spec
45 prefix = spec
46
48 root
49 This is the directory in which to look for files. If not given, it
50 defaults to the dist root -- generally, the place where your dist.ini
51 or other configuration file is located. It may begin with "~" (or
52 "~user") to mean your (or some other user's) home directory. If a
53 relative path, it's relative to the dist root. It does not need to be
54 the root of a Git repository, but it must be inside a repository.
55
56 prefix
57 This parameter can be set to gather all the files found under a common
58 directory. See the description above for an example.
59
60 include_dotfiles
61 By default, files will not be included if they begin with a dot. This
62 goes both for files and for directories relative to the "root".
63
64 In almost all cases, the default value (false) is correct.
65
66 include_untracked
67 By default, files not tracked by Git will not be gathered. If this is
68 set to a true value, then untracked files not covered by a Git ignore
69 pattern (i.e. those reported by "git ls-files -o --exclude-standard")
70 are also gathered (and you'll probably want to use Git::Check to ensure
71 all files are checked in before a release).
72
73 "include_untracked" requires at least Git 1.5.4, but you should
74 probably not use it if your Git is older than 1.6.5.2. Versions before
75 that would not list files matched by your .gitignore, even if they were
76 already being tracked by Git (which means they will not be gathered,
77 even though they should be). Whether that is a problem depends on the
78 contents of your exclude files (including the global one, if any).
79
80 follow_symlinks
81 Git::GatherDir does not honor GatherDir's follow_symlinks option.
82 While the attribute exists (because Git::GatherDir is a subclass),
83 setting it has no effect.
84
85 Directories that are symlinks will not be gathered. Instead, you'll
86 get a message saying "WARNING: %s is symlink to directory, skipping
87 it". To suppress the warning, add that directory to "exclude_filename"
88 or "exclude_match". To gather the files in the symlinked directory,
89 use a second instance of GatherDir or Git::GatherDir with appropriate
90 "root" and "prefix" options.
91
92 Files which are symlinks are always gathered.
93
94 exclude_filename
95 To exclude certain files from being gathered, use the
96 "exclude_filename" option. This may be used multiple times to specify
97 multiple files to exclude.
98
99 exclude_match
100 This is just like "exclude_filename" but provides a regular expression
101 pattern. Files matching the pattern are not gathered. This may be
102 used multiple times to specify multiple patterns to exclude.
103
105 Bugs may be submitted through the RT bug tracker
106 <https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-
107 Git> (or bug-Dist-Zilla-Plugin-Git@rt.cpan.org <mailto:bug-Dist-Zilla-
108 Plugin-Git@rt.cpan.org>).
109
110 There is also a mailing list available for users of this distribution,
111 at <http://dzil.org/#mailing-list>.
112
113 There is also an irc channel available for users of this distribution,
114 at "#distzilla" on "irc.perl.org" <irc://irc.perl.org/#distzilla>.
115
117 Jerome Quelin
118
120 This software is copyright (c) 2009 by Jerome Quelin.
121
122 This is free software; you can redistribute it and/or modify it under
123 the same terms as the Perl 5 programming language system itself.
124
125
126
127perl v5.36.0 2023-01D-i2s0t::Zilla::Plugin::Git::GatherDir(3)