diff options
Diffstat (limited to 'repo')
-rwxr-xr-x | repo | 32 |
1 files changed, 18 insertions, 14 deletions
@@ -110,6 +110,7 @@ REPO_MAIN = S_repo + '/main.py' # main script | |||
110 | MIN_PYTHON_VERSION = (2, 6) # minimum supported python version | 110 | MIN_PYTHON_VERSION = (2, 6) # minimum supported python version |
111 | 111 | ||
112 | 112 | ||
113 | import errno | ||
113 | import optparse | 114 | import optparse |
114 | import os | 115 | import os |
115 | import re | 116 | import re |
@@ -138,10 +139,9 @@ def _print(*objects, **kwargs): | |||
138 | # Python version check | 139 | # Python version check |
139 | ver = sys.version_info | 140 | ver = sys.version_info |
140 | if ver[0] == 3: | 141 | if ver[0] == 3: |
141 | _print('error: Python 3 support is not fully implemented in repo yet.\n' | 142 | _print('warning: Python 3 support is currently experimental. YMMV.\n' |
142 | 'Please use Python 2.6 - 2.7 instead.', | 143 | 'Please use Python 2.6 - 2.7 instead.', |
143 | file=sys.stderr) | 144 | file=sys.stderr) |
144 | sys.exit(1) | ||
145 | if (ver[0], ver[1]) < MIN_PYTHON_VERSION: | 145 | if (ver[0], ver[1]) < MIN_PYTHON_VERSION: |
146 | _print('error: Python version %s unsupported.\n' | 146 | _print('error: Python version %s unsupported.\n' |
147 | 'Please use Python 2.6 - 2.7 instead.' | 147 | 'Please use Python 2.6 - 2.7 instead.' |
@@ -181,6 +181,10 @@ group.add_option('--reference', | |||
181 | group.add_option('--depth', type='int', default=None, | 181 | group.add_option('--depth', type='int', default=None, |
182 | dest='depth', | 182 | dest='depth', |
183 | help='create a shallow clone with given depth; see git clone') | 183 | help='create a shallow clone with given depth; see git clone') |
184 | group.add_option('--archive', | ||
185 | dest='archive', action='store_true', | ||
186 | help='checkout an archive instead of a git repository for ' | ||
187 | 'each project. See git archive.') | ||
184 | group.add_option('-g', '--groups', | 188 | group.add_option('-g', '--groups', |
185 | dest='groups', default='default', | 189 | dest='groups', default='default', |
186 | help='restrict manifest projects to ones with specified ' | 190 | help='restrict manifest projects to ones with specified ' |
@@ -240,10 +244,10 @@ def _Init(args): | |||
240 | _print("fatal: invalid branch name '%s'" % branch, file=sys.stderr) | 244 | _print("fatal: invalid branch name '%s'" % branch, file=sys.stderr) |
241 | raise CloneFailure() | 245 | raise CloneFailure() |
242 | 246 | ||
243 | if not os.path.isdir(repodir): | 247 | try: |
244 | try: | 248 | os.mkdir(repodir) |
245 | os.mkdir(repodir) | 249 | except OSError as e: |
246 | except OSError as e: | 250 | if e.errno != errno.EEXIST: |
247 | _print('fatal: cannot make %s directory: %s' | 251 | _print('fatal: cannot make %s directory: %s' |
248 | % (repodir, e.strerror), file=sys.stderr) | 252 | % (repodir, e.strerror), file=sys.stderr) |
249 | # Don't raise CloneFailure; that would delete the | 253 | # Don't raise CloneFailure; that would delete the |
@@ -322,18 +326,18 @@ def NeedSetupGnuPG(): | |||
322 | 326 | ||
323 | 327 | ||
324 | def SetupGnuPG(quiet): | 328 | def SetupGnuPG(quiet): |
325 | if not os.path.isdir(home_dot_repo): | 329 | try: |
326 | try: | 330 | os.mkdir(home_dot_repo) |
327 | os.mkdir(home_dot_repo) | 331 | except OSError as e: |
328 | except OSError as e: | 332 | if e.errno != errno.EEXIST: |
329 | _print('fatal: cannot make %s directory: %s' | 333 | _print('fatal: cannot make %s directory: %s' |
330 | % (home_dot_repo, e.strerror), file=sys.stderr) | 334 | % (home_dot_repo, e.strerror), file=sys.stderr) |
331 | sys.exit(1) | 335 | sys.exit(1) |
332 | 336 | ||
333 | if not os.path.isdir(gpg_dir): | 337 | try: |
334 | try: | 338 | os.mkdir(gpg_dir, stat.S_IRWXU) |
335 | os.mkdir(gpg_dir, stat.S_IRWXU) | 339 | except OSError as e: |
336 | except OSError as e: | 340 | if e.errno != errno.EEXIST: |
337 | _print('fatal: cannot make %s directory: %s' % (gpg_dir, e.strerror), | 341 | _print('fatal: cannot make %s directory: %s' % (gpg_dir, e.strerror), |
338 | file=sys.stderr) | 342 | file=sys.stderr) |
339 | sys.exit(1) | 343 | sys.exit(1) |