fix is_dirty when fetching branch with updated (#36187)

fix is_dirty
This commit is contained in:
Maxime Desroches
2025-09-21 23:53:07 -07:00
committed by GitHub
parent 61d5a50534
commit 073503a6f2
2 changed files with 7 additions and 3 deletions
+3
View File
@@ -382,6 +382,8 @@ class Updater:
setup_git_options(OVERLAY_MERGED)
run(["git", "config", "--replace-all", "remote.origin.fetch", "+refs/heads/*:refs/remotes/origin/*"], OVERLAY_MERGED)
branch = self.target_branch
git_fetch_output = run(["git", "fetch", "origin", branch], OVERLAY_MERGED)
cloudlog.info("git fetch success: %s", git_fetch_output)
@@ -389,6 +391,7 @@ class Updater:
cloudlog.info("git reset in progress")
cmds = [
["git", "checkout", "--force", "--no-recurse-submodules", "-B", branch, "FETCH_HEAD"],
["git", "branch", "--set-upstream-to", f"origin/{branch}"],
["git", "reset", "--hard"],
["git", "clean", "-xdff"],
["git", "submodule", "sync"],
+4 -3
View File
@@ -37,9 +37,7 @@ def is_prebuilt(path: str = BASEDIR) -> bool:
@cache
def is_dirty(cwd: str = BASEDIR) -> bool:
origin = get_origin()
branch = get_branch()
if not origin or not branch:
if not get_origin() or not get_short_branch():
return True
dirty = False
@@ -52,6 +50,9 @@ def is_dirty(cwd: str = BASEDIR) -> bool:
except subprocess.CalledProcessError:
pass
branch = get_branch()
if not branch:
return True
dirty = (subprocess.call(["git", "diff-index", "--quiet", branch, "--"], cwd=cwd)) != 0
except subprocess.CalledProcessError:
cloudlog.exception("git subprocess failed while checking dirty")