be included in the source distribution:
\begin{itemize}
\item all files in the Distutils ``build'' tree (default \file{build/})
-\item all files in directories named \file{RCS}, \file{CVS} or \file{.svn}
+\item all files in directories named \file{RCS}, \file{CVS}, \file{.svn},
+ \file{.hg}, \file{.git}, \file{.bzr}, or \file{\_darcs}
\end{itemize}
Now we have our complete list of files, which is written to the manifest
for future reference, and then used to build the source distribution
\code{prune} command in the manifest template comes after the
\code{recursive-include} command
\item exclude the entire \file{build} tree, and any \file{RCS},
- \file{CVS} and \file{.svn} directories
+ \file{CVS}, \file{.svn}, \file{.hg}, \file{.git}, \file{.bzr}, or
+ \file{\_darcs} directories
\end{enumerate}
Just like in the setup script, file and directory names in the manifest
template should always be slash-separated; the Distutils will take care
* the build tree (typically "build")
* the release tree itself (only an issue if we ran "sdist"
previously with --keep-temp, or it aborted)
- * any RCS, CVS and .svn directories
+ * any RCS, CVS, .svn, .hg, .git, .bzr, _darcs directories
"""
build = self.get_finalized_command('build')
base_dir = self.distribution.get_fullname()
self.filelist.exclude_pattern(None, prefix=build.build_base)
self.filelist.exclude_pattern(None, prefix=base_dir)
- self.filelist.exclude_pattern(r'/(RCS|CVS|\.svn)/.*', is_regex=1)
+ self.filelist.exclude_pattern(r'(^|/)(RCS|CVS|\.svn|\.hg|\.git|\.bzr|_darcs)/.*', is_regex=1)
def write_manifest (self):
Library
-------
+- Bug #1725737: In distutil's sdist, exclude RCS, CVS etc. also in the
+ root directory, and also exclude .hg, .git, .bzr, and _darcs.
+
- Bug #1389051: imaplib causes excessive memory fragmentation when reading
large messages.