From eb5acc9ae9148b21afa82b63daec7753b284c03c Mon Sep 17 00:00:00 2001 From: Mitchel Humpherys Date: Wed, 12 Mar 2014 10:48:15 -0700 Subject: [PATCH] Don't try to remove .repo if it doesn't exist Part of the cleanup path for _Init is removing the .repo directory. However, _Init can fail before creating the .repo directory, so trying to remove it raises another exception: fatal: invalid branch name 'refs/changes/53/55053/4' Traceback (most recent call last): File "/home/mitchelh/bin/repo", line 775, in main(sys.argv[1:]) File "/home/mitchelh/bin/repo", line 749, in main os.rmdir(repodir) OSError: [Errno 2] No such file or directory: '.repo' Fix this by only removing .repo if it actually exists. Change-Id: Ia251d29e9c73e013eb296501d11c36263457e235 --- repo | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/repo b/repo index 768f11f8..b8c414be 100755 --- a/repo +++ b/repo @@ -114,6 +114,7 @@ import errno import optparse import os import re +import shutil import stat import subprocess import sys @@ -741,12 +742,7 @@ def main(orig_args): try: _Init(args) except CloneFailure: - for root, dirs, files in os.walk(repodir, topdown=False): - for name in files: - os.remove(os.path.join(root, name)) - for name in dirs: - os.rmdir(os.path.join(root, name)) - os.rmdir(repodir) + shutil.rmtree(repodir, ignore_errors=True) sys.exit(1) repo_main, rel_repo_dir = _FindRepo() else: