mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	svn+ssh://pythondev@svn.python.org/python/trunk ........ r67348 | benjamin.peterson | 2008-11-22 20:09:41 -0600 (Sat, 22 Nov 2008) | 1 line raise a better error ........ r67355 | georg.brandl | 2008-11-23 13:17:25 -0600 (Sun, 23 Nov 2008) | 2 lines #4392: fix parameter name. ........ r67359 | georg.brandl | 2008-11-23 15:57:30 -0600 (Sun, 23 Nov 2008) | 2 lines #4399: fix typo. ........ r67362 | gregory.p.smith | 2008-11-23 18:41:43 -0600 (Sun, 23 Nov 2008) | 2 lines Document PY_SSIZE_T_CLEAN for PyArg_ParseTuple. ........ r67364 | benjamin.peterson | 2008-11-23 19:16:29 -0600 (Sun, 23 Nov 2008) | 2 lines replace reference to debugger-hooks ........ r67365 | benjamin.peterson | 2008-11-23 22:09:03 -0600 (Sun, 23 Nov 2008) | 1 line #4396 make the parser module correctly validate the with syntax ........ r67367 | georg.brandl | 2008-11-24 10:16:07 -0600 (Mon, 24 Nov 2008) | 2 lines Fix typo. ........ r67368 | georg.brandl | 2008-11-24 13:56:47 -0600 (Mon, 24 Nov 2008) | 2 lines #4404: make clear what "path" is. ........ r67398 | benjamin.peterson | 2008-11-26 11:39:17 -0600 (Wed, 26 Nov 2008) | 1 line fix typo in sqlite3 docs ........ r67423 | jesse.noller | 2008-11-28 12:59:35 -0600 (Fri, 28 Nov 2008) | 2 lines issue4238: bsd support for cpu_count ........ r67424 | christian.heimes | 2008-11-28 13:33:33 -0600 (Fri, 28 Nov 2008) | 1 line Retain copyright of processing examples. This was requested by a Debian maintainer during packaging of the multiprocessing package for 2.4/2.5 ........ r67432 | benjamin.peterson | 2008-11-28 17:18:46 -0600 (Fri, 28 Nov 2008) | 1 line SVN format 9 is the same it seems ........ r67440 | jeremy.hylton | 2008-11-28 17:42:59 -0600 (Fri, 28 Nov 2008) | 4 lines Move definition int sval into branch of ifdef where it is used. Otherwise, you get a warning about an undefined variable. ........ r67441 | jeremy.hylton | 2008-11-28 18:09:16 -0600 (Fri, 28 Nov 2008) | 2 lines Reflow long lines. ........ r67444 | amaury.forgeotdarc | 2008-11-28 20:03:32 -0600 (Fri, 28 Nov 2008) | 2 lines Fix a small typo in docstring ........ r67445 | benjamin.peterson | 2008-11-29 21:07:33 -0600 (Sat, 29 Nov 2008) | 1 line StringIO.close() stops you from using the buffer, too ........ r67454 | benjamin.peterson | 2008-11-30 08:43:23 -0600 (Sun, 30 Nov 2008) | 1 line note the version that works ........ r67455 | martin.v.loewis | 2008-11-30 13:28:27 -0600 (Sun, 30 Nov 2008) | 1 line Issue #4365: Add crtassem.h constants to the msvcrt module. ........ r67457 | christian.heimes | 2008-11-30 15:16:28 -0600 (Sun, 30 Nov 2008) | 1 line w# requires Py_ssize_t ........ r67458 | benjamin.peterson | 2008-11-30 15:46:16 -0600 (Sun, 30 Nov 2008) | 1 line fix pyspecific extensions that were broken by Sphinx's grand renaming ........
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#! /usr/bin/env python
 | 
						|
 | 
						|
"""
 | 
						|
SVN helper script.
 | 
						|
 | 
						|
Try to set the svn:eol-style property to "native" on every .py, .txt, .c and
 | 
						|
.h file in the directory tree rooted at the current directory.
 | 
						|
 | 
						|
Files with the svn:eol-style property already set (to anything) are skipped.
 | 
						|
 | 
						|
svn will itself refuse to set this property on a file that's not under SVN
 | 
						|
control, or that has a binary mime-type property set.  This script inherits
 | 
						|
that behavior, and passes on whatever warning message the failing "svn
 | 
						|
propset" command produces.
 | 
						|
 | 
						|
In the Python project, it's safe to invoke this script from the root of
 | 
						|
a checkout.
 | 
						|
 | 
						|
No output is produced for files that are ignored.  For a file that gets
 | 
						|
svn:eol-style set, output looks like:
 | 
						|
 | 
						|
    property 'svn:eol-style' set on 'Lib\ctypes\__init__.py'
 | 
						|
 | 
						|
For a file not under version control:
 | 
						|
 | 
						|
    svn: warning: 'patch-finalizer.txt' is not under version control
 | 
						|
 | 
						|
and for a file with a binary mime-type property:
 | 
						|
 | 
						|
    svn: File 'Lib\test\test_pep263.py' has binary mime type property
 | 
						|
"""
 | 
						|
 | 
						|
import re
 | 
						|
import os
 | 
						|
 | 
						|
def propfiles(root, fn):
 | 
						|
    default = os.path.join(root, ".svn", "props", fn+".svn-work")
 | 
						|
    try:
 | 
						|
        format = int(open(os.path.join(root, ".svn", "format")).read().strip())
 | 
						|
    except IOError:
 | 
						|
        return []
 | 
						|
    if format in (8, 9):
 | 
						|
        # In version 8 and 9, committed props are stored in prop-base, local
 | 
						|
        # modifications in props
 | 
						|
        return [os.path.join(root, ".svn", "prop-base", fn+".svn-base"),
 | 
						|
                os.path.join(root, ".svn", "props", fn+".svn-work")]
 | 
						|
    raise ValueError, "Unknown repository format"
 | 
						|
 | 
						|
def proplist(root, fn):
 | 
						|
    "Return a list of property names for file fn in directory root"
 | 
						|
    result = []
 | 
						|
    for path in propfiles(root, fn):
 | 
						|
        try:
 | 
						|
            f = open(path)
 | 
						|
        except IOError:
 | 
						|
            # no properties file: not under version control,
 | 
						|
            # or no properties set
 | 
						|
            continue
 | 
						|
        while 1:
 | 
						|
            # key-value pairs, of the form
 | 
						|
            # K <length>
 | 
						|
            # <keyname>NL
 | 
						|
            # V length
 | 
						|
            # <value>NL
 | 
						|
            # END
 | 
						|
            line = f.readline()
 | 
						|
            if line.startswith("END"):
 | 
						|
                break
 | 
						|
            assert line.startswith("K ")
 | 
						|
            L = int(line.split()[1])
 | 
						|
            key = f.read(L)
 | 
						|
            result.append(key)
 | 
						|
            f.readline()
 | 
						|
            line = f.readline()
 | 
						|
            assert line.startswith("V ")
 | 
						|
            L = int(line.split()[1])
 | 
						|
            value = f.read(L)
 | 
						|
            f.readline()
 | 
						|
        f.close()
 | 
						|
    return result
 | 
						|
 | 
						|
possible_text_file = re.compile(r"\.([hc]|py|txt|sln|vcproj)$").search
 | 
						|
 | 
						|
for root, dirs, files in os.walk('.'):
 | 
						|
    if '.svn' in dirs:
 | 
						|
        dirs.remove('.svn')
 | 
						|
    for fn in files:
 | 
						|
        if possible_text_file(fn):
 | 
						|
            if 'svn:eol-style' not in proplist(root, fn):
 | 
						|
                path = os.path.join(root, fn)
 | 
						|
                os.system('svn propset svn:eol-style native "%s"' % path)
 |