| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Class capturing a command invocation as data.""" | 6 """Class capturing a command invocation as data.""" |
| 7 | 7 |
| 8 import inspect | 8 import inspect |
| 9 import glob | 9 import glob |
| 10 import hashlib | 10 import hashlib |
| (...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 (updated_push_url != tracked_push_url)): | 367 (updated_push_url != tracked_push_url)): |
| 368 logging.warn('Your git repo is using an old mirror: %s', abs_dir) | 368 logging.warn('Your git repo is using an old mirror: %s', abs_dir) |
| 369 logging.warn('Updating git repo using known mirror:') | 369 logging.warn('Updating git repo using known mirror:') |
| 370 logging.warn(' [FETCH] %s -> %s', | 370 logging.warn(' [FETCH] %s -> %s', |
| 371 tracked_fetch_url, updated_fetch_url) | 371 tracked_fetch_url, updated_fetch_url) |
| 372 logging.warn(' [PUSH] %s -> %s', | 372 logging.warn(' [PUSH] %s -> %s', |
| 373 tracked_push_url, updated_push_url) | 373 tracked_push_url, updated_push_url) |
| 374 pynacl.repo_tools.GitSetRemoteRepo(updated_fetch_url, abs_dir, | 374 pynacl.repo_tools.GitSetRemoteRepo(updated_fetch_url, abs_dir, |
| 375 push_url=updated_push_url) | 375 push_url=updated_push_url) |
| 376 | 376 |
| 377 | |
| 378 def populate_cache(subst, git_cache, url): | 377 def populate_cache(subst, git_cache, url): |
| 379 if git_cache: | 378 if git_cache: |
| 380 abs_git_cache = subst.SubstituteAbsPaths(git_cache) | 379 abs_git_cache = subst.SubstituteAbsPaths(git_cache) |
| 381 if abs_git_cache: | 380 if abs_git_cache: |
| 382 pynacl.repo_tools.PopulateGitCache(abs_git_cache, [url]) | 381 pynacl.repo_tools.PopulateGitCache(abs_git_cache, [url]) |
| 383 | 382 |
| 384 def validate(subst, url, directory, git_cache): | 383 def validate(subst, url, directory): |
| 385 expected_url = url | 384 pynacl.repo_tools.ValidateGitRepo(url, |
| 386 if git_cache: | |
| 387 abs_git_cache = subst.SubstituteAbsPaths(git_cache) | |
| 388 if abs_git_cache: | |
| 389 expected_url = pynacl.repo_tools.GetGitCacheURL(abs_git_cache, url) | |
| 390 | |
| 391 pynacl.repo_tools.ValidateGitRepo(expected_url, | |
| 392 subst.SubstituteAbsPaths(directory), | 385 subst.SubstituteAbsPaths(directory), |
| 393 clobber_mismatch=True) | 386 clobber_mismatch=True) |
| 394 | 387 |
| 395 def sync(subst, url, dest, revision, reclone, clean, pathspec, git_cache, | 388 def sync(subst, url, dest, revision, reclone, clean, pathspec, git_cache, |
| 396 push_url): | 389 push_url): |
| 397 abs_dest = subst.SubstituteAbsPaths(dest) | 390 abs_dest = subst.SubstituteAbsPaths(dest) |
| 398 if git_cache: | 391 if git_cache: |
| 399 git_cache = subst.SubstituteAbsPaths(git_cache) | 392 git_cache = subst.SubstituteAbsPaths(git_cache) |
| 400 | 393 |
| 401 try: | 394 try: |
| (...skipping 24 matching lines...) Expand all Loading... |
| 426 return True | 419 return True |
| 427 return cmd_opts.IsBot() | 420 return cmd_opts.IsBot() |
| 428 | 421 |
| 429 commands = [] | 422 commands = [] |
| 430 if git_cache: | 423 if git_cache: |
| 431 commands.append(Runnable(run_cond, populate_cache, git_cache, url)) | 424 commands.append(Runnable(run_cond, populate_cache, git_cache, url)) |
| 432 | 425 |
| 433 commands.extend([Runnable(run_cond, update_valid_mirrors, url, push_url, | 426 commands.extend([Runnable(run_cond, update_valid_mirrors, url, push_url, |
| 434 destination, known_mirrors, push_mirrors), | 427 destination, known_mirrors, push_mirrors), |
| 435 Runnable(ClobberInvalidRepoCondition, validate, url, | 428 Runnable(ClobberInvalidRepoCondition, validate, url, |
| 436 destination, git_cache), | 429 destination), |
| 437 Runnable(run_cond, sync, url, destination, revision, reclone, | 430 Runnable(run_cond, sync, url, destination, revision, reclone, |
| 438 clean, pathspec, git_cache, push_url)]) | 431 clean, pathspec, git_cache, push_url)]) |
| 439 return commands | 432 return commands |
| 440 | 433 |
| 441 | 434 |
| 442 def CleanGitWorkingDir(directory, path, run_cond=None): | 435 def CleanGitWorkingDir(directory, path, run_cond=None): |
| 443 """Clean a path in a git checkout, if the checkout directory exists.""" | 436 """Clean a path in a git checkout, if the checkout directory exists.""" |
| 444 def clean(subst, directory, path): | 437 def clean(subst, directory, path): |
| 445 directory = subst.SubstituteAbsPaths(directory) | 438 directory = subst.SubstituteAbsPaths(directory) |
| 446 if os.path.exists(directory) and len(os.listdir(directory)) > 0: | 439 if os.path.exists(directory) and len(os.listdir(directory)) > 0: |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 532 # It describes how to unpack and apply patches to produce the source | 525 # It describes how to unpack and apply patches to produce the source |
| 533 # tree of the %(name)s component of a toolchain targetting Native Client. | 526 # tree of the %(name)s component of a toolchain targetting Native Client. |
| 534 | 527 |
| 535 # Source: %(upstream-name)s.tar | 528 # Source: %(upstream-name)s.tar |
| 536 """ | 529 """ |
| 537 % info) | 530 % info) |
| 538 for patch in patch_files: | 531 for patch in patch_files: |
| 539 f.write('\n# %s\n%s\n' % patch) | 532 f.write('\n# %s\n%s\n' % patch) |
| 540 | 533 |
| 541 return Runnable(run_cond, generatePatches, git_dir, info) | 534 return Runnable(run_cond, generatePatches, git_dir, info) |
| OLD | NEW |