Hi,
This patch makes trunk/contrib/client-side/svn_apply_autoprops.py take
command line options.
The usage would be:
svn_apply_autoprops.py [-c config_file] [paths to process...]
The -c option specifies the configuration file name, and it overrides
the setting in environment variable SVN_CONFIG_FILENAME.
The rest of the command line arguments are treated as paths to process.
[[[
Make svn_apply_autoprops.py take command line options.
Option -c for svn configuration filename, and the rest for paths to process.
]]]
Regards,
Wei-Yin
----------------------------------------------------------------
--- svn_apply_autoprops.py.old 2010-09-04 20:16:28.000000000 +0800
+++ svn_apply_autoprops.py.option 2010-09-04 20:53:47.000000000 +0800
@@ -8,12 +8,10 @@
# auto-property to a single pathname, this script will apply all
# matching lines to a single pathname.
#
# To do:
# 1) Switch to using the Subversion Python bindings.
-# 2) Allow a command line option to specify the configuration file to
-# load the auto-properties from.
#
# $HeadURL$
# $LastChangedRevision$
# $LastChangedDate$
# $LastChangedBy$
@@ -137,22 +135,39 @@
print 'Command "%s" failed with exit status %s' \
% (command, status)
sys.exit(1)
def main():
+ from optparse import OptionParser
+ op=OptionParser(usage="%prog [-c config_file] [paths to process...]")
+ op.add_option("-c",
+ dest="config_filename",action="store",help="SVN
config filename.",metavar="<args>")
+ options, args = op.parse_args()
+ for p in args:
+ if not os.path.exists(p):
+ print "Path '%s' doesn't exist." % p
+ sys.exit(1)
+ paths = [p for p in args if os.path.exists(p)]
+ if not paths:
+ paths = '.'
+
config_filename = os.path.expandvars(SVN_CONFIG_FILENAME)
+ if options.config_filename:
+ config_filename = options.config_filename
try:
fd = file(config_filename)
except IOError:
print "Cannot open svn configuration file '%s' for reading: %s" \
% (config_filename, sys.exc_value.strerror)
+ sys.exit(1)
autoprop_lines = get_autoprop_lines(fd)
fd.close()
autoprop_lines = process_autoprop_lines(autoprop_lines)
- os.path.walk('.', filter_walk, autoprop_lines)
+ for p in paths:
+ os.path.walk(p, filter_walk, autoprop_lines)
if __name__ == '__main__':
sys.exit(main())
Received on 2010-09-04 15:07:12 CEST