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