<?xml version="1.0" encoding="windows-1252"?>
<node id="1011132" title="Re^2: What are the files in a CPAN distribution?" created="2013-01-01 04:16:14" updated="2013-01-01 04:16:14">
<type id="11">
note</type>
<author id="757127">
tobyink</author>
<data>
<field name="doctext">
&lt;p&gt;&lt;c&gt;.gitignore&lt;/c&gt; and &lt;c&gt;MANIFEST.SKIP&lt;/c&gt; serve different purposes.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;c&gt;MANIFEST.SKIP&lt;/c&gt; tells the distribution building process (as far as I know EU:MM, M:B and M:I all support it) to skip including certain files in the packaged distribution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;c&gt;.gitignore&lt;/c&gt; (and equivalents for other versioning systems: &lt;c&gt;.hgignore&lt;/c&gt; files or &lt;c&gt;svn:ignore&lt;/c&gt; properties) tell your version control system to keep particular files out of version control.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It's quite common to have files that are not in version control. but &lt;em&gt;are&lt;/em&gt; packaged with the distribution, such as META.yml which might be built on the fly at packaging time. Conversely there are occasions in which you'd want to keep files in your repository but not distribute them - a Devel::Cover database, editor config files (&lt;c&gt;.vimrc&lt;/c&gt;), benchmarking scripts, etc. So it's fairly usual to have significant differences between the &lt;c&gt;.gitignore&lt;/c&gt; and &lt;c&gt;MANIFEST.SKIP&lt;/c&gt; lists.&lt;/p&gt;

&lt;!-- Node text goes above. Div tags should contain sig only --&gt;
&lt;div class="pmsig"&gt;&lt;div class="pmsig-757127"&gt;
&lt;small&gt;&lt;small&gt;
&lt;tt&gt;perl -E'sub Monkey::do{say$_,for@_,do{($monkey=&amp;#x5B;caller(0)]-&gt;&amp;#x5B;3])=~s{::}{ }and$monkey}}"Monkey say"-&gt;Monkey::do'
&lt;/tt&gt;&lt;/small&gt;&lt;/small&gt;
&lt;/div&gt;&lt;/div&gt;</field>
<field name="root_node">
1009586</field>
<field name="parent_node">
1011109</field>
</data>
</node>
