A lot of my company's svn url's use the "svn+ssh://" protocol. When I was trying to set up some svnexternals to pull things from repositories that use that URL prefix, I was getting errors. Poking into the code in svnexternals.py, I found the "re_defnew" and "re_scheme" regular expressions, which are expecting only a-z or A-Z to prefix the "://" in the URL. A simple change to these regexes to allow a "+" in those prefixes solved the problem for me, and the externals are working fine with svn+ssh now. My updated lines:
re_defnew = re.compile(r'^(?:-r\s(\d+)\s+)?((?:[a-z+A-Z]+://|\^/).)\s+(.*)$') re_scheme = re.compile(r'^[a-z+A-Z]+://') }}}
Would love to see this small change added to the main source so that I can recommend hgsubversion to some of my co-workers w/o them having to edit the code when they pull it down.