зеркало из https://github.com/mozilla/pjs.git
74 строки
1.7 KiB
Python
74 строки
1.7 KiB
Python
|
#!/usr/bin/python
|
||
|
|
||
|
import sys
|
||
|
if not sys.platform == "win32":
|
||
|
raise Exception("This script was only meant for Windows.")
|
||
|
|
||
|
import os
|
||
|
|
||
|
def dos2unix(path):
|
||
|
print "dos2unix: %s" % path
|
||
|
|
||
|
inf = open(path, "r")
|
||
|
data = inf.read()
|
||
|
inf.close()
|
||
|
|
||
|
|
||
|
outf = open(path, "wb")
|
||
|
outf.write(data)
|
||
|
outf.close()
|
||
|
|
||
|
adminfiles = [
|
||
|
"Root",
|
||
|
"Repository",
|
||
|
"Entries",
|
||
|
"Entries.Log",
|
||
|
"Entries.Static",
|
||
|
"Tag",
|
||
|
"Notify",
|
||
|
"Template"
|
||
|
]
|
||
|
|
||
|
def walkdirectory(path):
|
||
|
if not os.path.exists(os.path.join(path, "CVS")):
|
||
|
return
|
||
|
|
||
|
print "Directory: %s" % path
|
||
|
|
||
|
for f in adminfiles:
|
||
|
cvsf = os.path.join(path, "CVS", f)
|
||
|
if os.path.exists(cvsf):
|
||
|
dos2unix(cvsf)
|
||
|
|
||
|
entries = open(os.path.join(path, "CVS", "Entries"), "r")
|
||
|
for entry in entries:
|
||
|
if entry == "D\n":
|
||
|
continue
|
||
|
|
||
|
(type, filename, rev, date, flags, extra) = entry.split('/')
|
||
|
if type == "D" or flags == "-kb" or rev[0] == "-":
|
||
|
continue
|
||
|
|
||
|
dos2unix(os.path.join(path, filename))
|
||
|
|
||
|
# Now walk subdirectories
|
||
|
for entry in os.listdir(path):
|
||
|
subdir = os.path.join(path, entry)
|
||
|
if os.path.isdir(subdir):
|
||
|
walkdirectory(subdir)
|
||
|
|
||
|
topsrcdir = os.sep.join(os.path.abspath(__file__).split(os.sep)[:-3])
|
||
|
|
||
|
print """This command will convert the source tree at
|
||
|
%s
|
||
|
to an MSYS-compatible (unix mode) source tree. You can run this
|
||
|
command multiple times safely. Are you sure you want to continue (Y/N)? """ % topsrcdir,
|
||
|
sys.stdout.flush()
|
||
|
print
|
||
|
|
||
|
ask = raw_input()
|
||
|
if len(ask) == 0 or (ask[0] != "y" and ask[0] != "Y"):
|
||
|
raise Exception("User aborted action.")
|
||
|
|
||
|
walkdirectory(topsrcdir)
|