Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce64349c authored by dianlujitao's avatar dianlujitao Committed by Bruno Martins
Browse files

repopick: Check fetch result based on the actual commit

Checking for FETCH_HEAD is not reliable when fetching in parallel.

Change-Id: I0c07f7c4bffb80e5d12b13f301ba684b95112272
parent 8a3a02e0
Loading
Loading
Loading
Loading
+20 −21
Original line number Diff line number Diff line
@@ -641,12 +641,11 @@ def do_git_fetch_pull(args, item):
        if not args.quiet:
            print(cmd)
        result = subprocess.call(cmd, cwd=project_path)
        FETCH_HEAD = "{0}/.git/FETCH_HEAD".format(project_path)
        if result != 0 and os.stat(FETCH_HEAD).st_size != 0:
            print("ERROR: git command failed")
            sys.exit(result)
        # Check if it worked
    if args.gerrit != DEFAULT_GERRIT or os.stat(FETCH_HEAD).st_size == 0:
        if result == 0 or commit_exists(project_path, item["revision"]):
            return
        print("ERROR: git command failed")

    # If not using the default gerrit or github failed, fetch from gerrit.
    if args.verbose:
        if args.gerrit == DEFAULT_GERRIT:
@@ -660,7 +659,7 @@ def do_git_fetch_pull(args, item):
    if not args.quiet:
        print(cmd)
    result = subprocess.call(cmd, cwd=project_path)
        if result != 0:
    if result != 0 and not commit_exists(project_path, item["revision"]):
        print("ERROR: git command failed")
        sys.exit(result)