fixed #1702551: distutils sdist was not pruning VCS directories under win32
diff --git a/Lib/distutils/command/sdist.py b/Lib/distutils/command/sdist.py
index 961256c..e10e25b 100644
--- a/Lib/distutils/command/sdist.py
+++ b/Lib/distutils/command/sdist.py
@@ -7,6 +7,7 @@
__revision__ = "$Id$"
import os, string
+import sys
from types import *
from glob import glob
from distutils.core import Command
@@ -354,8 +355,13 @@
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|\.hg|\.git|\.bzr|_darcs)/.*', is_regex=1)
+ # pruning out vcs directories
+ # both separators are used under win32
+ seps = sys.platform == 'win32' and r'/|\\' or '/'
+ vcs_dirs = ['RCS', 'CVS', '\.svn', '\.hg', '\.git', '\.bzr', '_darcs']
+ vcs_ptrn = r'(^|%s)(%s)(%s).*' % (seps, '|'.join(vcs_dirs), seps)
+ self.filelist.exclude_pattern(vcs_ptrn, is_regex=1)
def write_manifest (self):
"""Write the file list in 'self.filelist' (presumably as filled in