Restored svn:keywords to prebuild.xml.

Set svn properties script to ignore this property from now on.
Update svn properties on some other file types.
Minor formatting cleanup.
0.6.0-stable
Jeff Ames 2008-05-06 22:14:15 +00:00
parent 94a3442baf
commit be024e1e93
3 changed files with 82 additions and 76 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<Prebuild xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" version="1.7"> <Prebuild xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" version="1.7">
<Solution name="OpenSim" activeConfig="Debug" path="./" version="0.5.0-$Rev: 4473 $"> <Solution name="OpenSim" activeConfig="Debug" path="./" version="0.5.0-$Rev$">
<Configuration name="Debug"> <Configuration name="Debug">
<Options> <Options>
<CompilerDefines>TRACE;DEBUG</CompilerDefines> <CompilerDefines>TRACE;DEBUG</CompilerDefines>

View File

@ -2,7 +2,7 @@
import os, os.path, popen2, re, string, sys import os, os.path, popen2, re, string, sys
def textfile(file): def text(file):
return { return {
"svn:eol-style" : "native" "svn:eol-style" : "native"
} }
@ -38,50 +38,54 @@ def binary_or_text(file):
if is_binary(file): if is_binary(file):
return binary(file) return binary(file)
else: else:
return textfile(file) return text(file)
property_map = { property_map = {
".bat" : script, ".bat" : script,
".cgi" : textfile, ".build" : text,
".config" : textfile, ".cfg" : text,
".cs" : textfile, ".cgi" : text,
".csproj" : textfile, ".config" : text,
".cs" : text,
".csproj" : text,
".dat" : binary_or_text, ".dat" : binary_or_text,
".dll" : binary, ".dll" : binary,
".dylib" : binary, ".dylib" : binary,
".example" : textfile, ".example" : text,
".exe" : executable, ".exe" : executable,
".fxcop" : textfile, ".fxcop" : text,
".hgignore" : text,
".ico" : binary, ".ico" : binary,
".include" : textfile, ".include" : text,
".ini" : textfile, ".ini" : text,
".j2c" : binary, ".j2c" : binary,
".jp2" : binary, ".jp2" : binary,
".lsl" : textfile, ".lsl" : text,
".mdp" : textfile, ".mdp" : text,
".mds" : textfile, ".mds" : text,
".nsi" : textfile, ".nsi" : text,
".pdb" : binary, ".pdb" : binary,
".php" : script, ".php" : script,
".pidb" : binary, ".pidb" : binary,
".pl" : script, ".pl" : script,
".pm" : textfile, ".plist" : text,
".pm" : text,
".png" : binary, ".png" : binary,
".py" : script, ".py" : script,
".rb" : script, ".rb" : script,
".resx" : textfile, ".resx" : text,
".settings" : textfile, ".settings" : text,
".stetic" : textfile, ".stetic" : text,
".sh" : script, ".sh" : script,
".snk" : binary, ".snk" : binary,
".so" : binary, ".so" : binary,
".sql" : textfile, ".sql" : text,
".txt" : textfile, ".txt" : text,
".user" : textfile, ".user" : text,
".userprefs" : textfile, ".userprefs" : text,
".usertasks" : textfile, ".usertasks" : text,
".xml" : textfile, ".xml" : text,
".xsd" : textfile ".xsd" : text
} }
def propset(file, property, value): def propset(file, property, value):
@ -125,7 +129,7 @@ def proplist(file):
else: else:
return "" return ""
def update_file(file, properties): def update_file(file, properties, ignorelist):
current_props = proplist(file) current_props = proplist(file)
if current_props is None: if current_props is None:
@ -133,23 +137,23 @@ def update_file(file, properties):
return return
for p in current_props: for p in current_props:
if not properties.has_key(p): if p not in ignorelist and not properties.has_key(p):
propdel(file, p) propdel(file, p)
for p in properties: for p in properties:
if p not in current_props or propget(file, p) != properties[p]: if p not in current_props or propget(file, p) != properties[p]:
propset(file, p, properties[p]) propset(file, p, properties[p])
def update(dir): def update(dir, ignorelist):
for f in os.listdir(dir): for f in os.listdir(dir):
fullpath = os.path.join(dir, f) fullpath = os.path.join(dir, f)
if os.path.isdir(fullpath): if os.path.isdir(fullpath):
if not os.path.islink(fullpath): if not os.path.islink(fullpath):
update(fullpath) update(fullpath, ignorelist)
else: else:
extension = os.path.splitext(fullpath)[1].lower() extension = os.path.splitext(fullpath)[1].lower()
if property_map.has_key(extension): if property_map.has_key(extension):
update_file(fullpath, property_map[extension](fullpath)) update_file(fullpath, property_map[extension](fullpath), ignorelist)
elif extension != "" and proplist(fullpath) is not None: elif extension != "" and proplist(fullpath) is not None:
print "Warning: No properties defined for %s files (%s)" % (extension, fullpath) print "Warning: No properties defined for %s files (%s)" % (extension, fullpath)
@ -157,7 +161,9 @@ def main(argv = None):
if argv is None: if argv is None:
argv = sys.argv argv = sys.argv
update(".") ignorelist = ("svn:keywords",)
update(".", ignorelist)
if __name__ == "__main__": if __name__ == "__main__":
sys.exit(main()) sys.exit(main())