Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2013 The Chromium Authors. All rights reserved. | 2 # Copyright 2013 The Chromium 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 # Usage: | 6 # Usage: |
| 7 # gclient-new-workdir.py <repository> <new_workdir> [<branch>] | 7 # gclient-new-workdir.py <repository> <new_workdir> [<branch>] |
| 8 # | 8 # |
| 9 | 9 |
| 10 import os | 10 import os |
| 11 import os.path | |
|
M-A Ruel
2013/11/12 17:40:07
Not needed.
| |
| 11 import shutil | 12 import shutil |
| 12 import subprocess | 13 import subprocess |
| 13 import sys | 14 import sys |
| 14 | 15 |
| 15 | 16 |
| 16 def parse_options(argv): | 17 def parse_options(argv): |
| 17 assert not sys.platform.startswith("win") | 18 if sys.platform.startswith("win"): |
|
M-A Ruel
2013/11/12 17:40:07
On windows, it'll always be 'win32', so use:
if sy
| |
| 19 print("This script cannot run on Windows because it uses symlinks.") | |
|
M-A Ruel
2013/11/12 17:40:07
you should print to sys.stderr. I see the rest of
| |
| 20 sys.exit(1) | |
| 18 | 21 |
| 19 if len(argv) != 3: | 22 if len(argv) != 3: |
| 20 print("usage: gclient-new-workdir.py <repository> <new_workdir>") | 23 print("""usage: gclient-new-workdir.py <repository> <new_workdir> |
| 24 | |
| 25 <repository> must be a absolute path | |
| 26 <new_workdir> must not exist | |
| 27 """) | |
| 21 sys.exit(1) | 28 sys.exit(1) |
| 22 | 29 |
| 23 repository = argv[1] | 30 repository = argv[1] |
| 24 new_workdir = argv[2] | 31 new_workdir = argv[2] |
| 25 | 32 |
| 33 if not os.path.isabs(argv[1]): | |
| 34 print("First argument (repository) must be an absolute path.") | |
|
M-A Ruel
2013/11/12 17:40:07
Why not
argv[1] = os.path.abspath(argv[1])
?
| |
| 35 sys.exit(1) | |
| 36 | |
| 26 if not os.path.exists(repository): | 37 if not os.path.exists(repository): |
| 27 print("Repository does not exist: " + repository) | 38 print("Repository does not exist: " + repository) |
| 28 sys.exit(1) | 39 sys.exit(1) |
| 29 | 40 |
| 30 if os.path.exists(new_workdir): | 41 if os.path.exists(new_workdir): |
| 31 print("New workdir already exists: " + new_workdir) | 42 print("New workdir already exists: " + new_workdir) |
| 32 sys.exit(1) | 43 sys.exit(1) |
| 33 | 44 |
| 34 return repository, new_workdir | 45 return repository, new_workdir |
| 35 | 46 |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 86 if not os.path.exists(os.path.join(repository, link)): | 97 if not os.path.exists(os.path.join(repository, link)): |
| 87 return | 98 return |
| 88 link_dir = os.path.dirname(os.path.join(new_workdir, link)) | 99 link_dir = os.path.dirname(os.path.join(new_workdir, link)) |
| 89 if not os.path.exists(link_dir): | 100 if not os.path.exists(link_dir): |
| 90 os.makedirs(link_dir) | 101 os.makedirs(link_dir) |
| 91 os.symlink(os.path.join(repository, link), os.path.join(new_workdir, link)) | 102 os.symlink(os.path.join(repository, link), os.path.join(new_workdir, link)) |
| 92 | 103 |
| 93 | 104 |
| 94 if __name__ == '__main__': | 105 if __name__ == '__main__': |
| 95 sys.exit(main(sys.argv)) | 106 sys.exit(main(sys.argv)) |
| OLD | NEW |