Chromium Code Reviews| Index: fetch.py |
| diff --git a/fetch.py b/fetch.py |
| index 04be95fa48ea0d095692a321c0e6b14ec5fedb57..1c515ad3ac497e86d55e908f19658800f6d591ce 100755 |
| --- a/fetch.py |
| +++ b/fetch.py |
| @@ -63,7 +63,7 @@ class Checkout(object): |
| print 'Running: %s' % (' '.join(pipes.quote(x) for x in cmd)) |
| if self.options.dry_run: |
| return 0 |
| - return subprocess.check_call(cmd, **kwargs) |
| + return subprocess.check_output(cmd, **kwargs) |
| class GclientCheckout(Checkout): |
| @@ -85,6 +85,15 @@ class GitCheckout(Checkout): |
| git_path = 'git' |
| return self.run((git_path,) + cmd, **kwargs) |
| + def exists(self): |
|
agable
2015/06/10 19:00:48
you want this to be in GclientCheckout, not GitChe
|
| + try: |
| + gclient_root = self.run_gclient('root').strip() |
| + return (os.path.exists(os.path.join(gclient_root, '.gclient')) or |
| + os.path.exists(os.path.join(os.getcwd(), self.root))) |
| + except subprocess.CalledProcessError: |
| + pass |
| + return os.path.exists(os.path.join(os.getcwd(), self.root)) |
| + |
| class SvnCheckout(Checkout): |
| @@ -120,9 +129,6 @@ class GclientGitCheckout(GclientCheckout, GitCheckout): |
| for key in extra_keys if key in self.spec) |
| return gclient_spec |
| - def exists(self): |
| - return os.path.exists(os.path.join(os.getcwd(), self.root)) |
| - |
| def init(self): |
| # Configure and do the gclient checkout. |
| self.run_gclient('config', '--spec', self._format_spec()) |
| @@ -315,8 +321,9 @@ def run(options, spec, root): |
| except KeyError: |
| return 1 |
| if checkout.exists(): |
| - print 'You appear to already have a checkout. "fetch" is used only' |
| - print 'to get new checkouts. Use "gclient sync" to update the checkout.' |
| + print 'Your current directory appears to already contain, or be part of, ' |
| + print 'a checkout. "fetch" is used only to get new checkouts. Use ' |
| + print '"gclient sync" to update existing checkouts.' |
| print 'Fetch also does not yet deal with partial checkouts, so if fetch' |
| print 'failed, delete the checkout and start over (crbug.com/230691).' |