Mercurial > hgsubversion
comparison cmdutil.py @ 257:ffccf0080e54
Move wrappers for hg commands to their own module.
| author | Augie Fackler <durin42@gmail.com> |
|---|---|
| date | Fri, 10 Apr 2009 22:38:29 -0500 |
| parents | 7932d098cb5f |
| children | f8f9a2993705 |
comparison
equal
deleted
inserted
replaced
| 256:7932d098cb5f | 257:ffccf0080e54 |
|---|---|
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 import re | 2 import re |
| 3 import os | 3 import os |
| 4 import urllib | |
| 4 | 5 |
| 5 from mercurial import util as hgutil | 6 from mercurial import util as hgutil |
| 6 | 7 |
| 7 from svn import core | 8 from svn import core |
| 8 | 9 |
| 276 or e.apr_err == core.SVN_ERR_FS_CONFLICT): | 277 or e.apr_err == core.SVN_ERR_FS_CONFLICT): |
| 277 raise hgutil.Abort('Base text was out of date, maybe rebase?') | 278 raise hgutil.Abort('Base text was out of date, maybe rebase?') |
| 278 else: | 279 else: |
| 279 raise | 280 raise |
| 280 | 281 |
| 281 def filecheck(path): | |
| 282 for x in ('locks', 'hooks', 'format', 'db', ): | |
| 283 if not os.path.exists(os.path.join(path, x)): | |
| 284 return False | |
| 285 return True | 282 return True |
| 286 | 283 |
| 284 def islocalrepo(url): | |
| 285 if not url.startswith('file:///'): | |
| 286 return False | |
| 287 path = urllib.unquote(url[len('file://'):]) | |
| 288 while '/' in path: | |
| 289 if reduce(lambda x,y: x and y, | |
| 290 map(lambda p: os.path.exists(os.path.join(path, p)), | |
| 291 ('hooks', 'format', 'db', ))): | |
| 292 return True | |
| 293 path = path.rsplit('/', 1)[0] | |
| 294 return False | |
| 287 | 295 |
| 288 def issvnurl(url): | 296 def issvnurl(url): |
| 289 return url.startswith('svn+') or ( | 297 return url.startswith('svn') or islocalrepo(url) |
| 290 url.startswith('file://') and | |
| 291 reduce(lambda x,y: x and y, | |
| 292 map(lambda p: os.path.exists(os.path.join(url[7:], p)), | |
| 293 ('locks', 'hooks', 'format', 'db', )))) |
