)]}'
{
  "log": [
    {
      "commit": "eca9dd3ecbe0dabefbacf6e14904a489a55f2cc8",
      "tree": "44f4572ab55741030587f2be0f54eb4f45720a4b",
      "parents": [
        "fbe3c83efca80639122f31915f09322c27f2cdc6"
      ],
      "author": {
        "name": "Dustin Green",
        "email": "dustingreen@google.com",
        "time": "Wed Jul 15 08:49:37 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 15 08:49:37 2026 -0700"
      },
      "message": "[project] project root being jiri root beats -gc\n\nAvoid deleting the root of the source tree even if -gc.\n\nAs of when this CL was posted, this could arise when using \u0027fx sync-to\u0027\nto a release branch on a freshly created fuchsia source tree with\nglobal-integration added and the subsequent jiri update done.\n\nThere\u0027s likely at least one more change needed elsewhere to avoid this\nCL\u0027s backstop coming into play in the first place. The intent of this CL\nis to \"safe\" the footgun ASAP. This CL isn\u0027t a complete fix on its own,\nbut we probably want to keep this backstop even after the main fix.\n\nChange-Id: Ie3948db7f828401b6c7cb00a55e3e5203892d379\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1707714\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Dustin Green \u003cdustingreen@google.com\u003e\nCommit-Queue: Dustin Green \u003cdustingreen@google.com\u003e\n"
    },
    {
      "commit": "fbe3c83efca80639122f31915f09322c27f2cdc6",
      "tree": "5185aa3288d9b923a46014a6d31210dc57737c8c",
      "parents": [
        "683519d5c521adb59bbd4648801a642795082ade"
      ],
      "author": {
        "name": "Garratt Gallagher",
        "email": "garratt@google.com",
        "time": "Tue Jul 14 01:05:14 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 14 01:05:14 2026 -0700"
      },
      "message": "[cache] Fix git directory detection in bare repositories\n\nWhen using a shared cache, jiri creates bare repositories.\nSome git commands (like git config) fail with\n \"fatal: not in a git directory\"\nwhen run inside a bare repository when safe.bareRepository\u003dexplicit\n\nThis fix adds a check to gitutil.New which\nsets GIT_DIR\u003d\".\" in the environment if it\ndetects that the git repo is bare.\nThis environmental variable is then set for\nall commands executed by that instance.\n\nThis prevents jiri from incorrectly assuming the\ncache is corrupt and clearing it when updates fail.\n\nTest: Manually verified that jiri update works with\nshared cache enabled on multiple workspaces.\n\nChange-Id: Ifec37d5adc4dc76448ca530d66098139120a19dc\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1573741\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Garratt Gallagher \u003cgarratt@google.com\u003e\n"
    },
    {
      "commit": "683519d5c521adb59bbd4648801a642795082ade",
      "tree": "e7e73d260647654077af67b153c2f5d1742b7e90",
      "parents": [
        "1408f55604d4f5995f944b6af7ec7fc11d10f481"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Fri Jul 10 11:45:05 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jul 10 11:45:05 2026 -0700"
      },
      "message": "[git] Bypass config overrides for git config subcommand\n\nBypass Git config environment overrides when running the `git config`\nsubcommand. This ensures that Jiri reads the actual configuration files\nwhen checking if a config needs to be set, rather than incorrectly\nassuming it is set due to environment overrides.\n\nThis fixes the bug where project-level configuration defaults (such as\ndisabling submodule recursion) were not being written to local\n`.git/config` files (including the root repository) because the read\nchecks were masked by Jiri\u0027s runtime environment overrides.\n\nTAG\u003dagy\nCONV\u003d6d99291f-568e-47b8-9814-b607d4f2cc0b\n\nChange-Id: I3dd359b26cced6a38367bdb37757b25556f24593\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1701334\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "1408f55604d4f5995f944b6af7ec7fc11d10f481",
      "tree": "60131149f7edc4f75255c8bc871ccc16916de368",
      "parents": [
        "c198f77881729348d5185e40ce2bba71658abd7b"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Fri Jul 10 08:14:26 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jul 10 08:14:26 2026 -0700"
      },
      "message": "[git] Extract ConfigSetIfNeeded helper in gitutil\n\nExtract a helper function `ConfigSetIfNeeded` in gitutil to only set a\nGit configuration key if it is not already set to the desired value, to\nsimplify code that does such operations.\n\nTAG\u003dagy\nCONV\u003d6d99291f-568e-47b8-9814-b607d4f2cc0b\n\nChange-Id: I87ab60381b93ca96e787803c92e542c4c1450e01\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1700856\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "c198f77881729348d5185e40ce2bba71658abd7b",
      "tree": "85c79bdfc30b1bf7478021f9f5e4c30fff1cc8f7",
      "parents": [
        "0e0ccc6ba73c6c9c1c84c744854876e17734f42f"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Fri Jul 10 08:13:35 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jul 10 08:13:35 2026 -0700"
      },
      "message": "[submodules] Disable submodule fetching in Jiri\n\nAdd fetch.recurseSubmodules\u003dfalse to Git configuration and environment\nvariables to prevent Git from recursively fetching submodules during\nupdate operations.\n\nEven if fetch.recurseSubmodules is not explicitly set by the user, it\ndefaults to \"on-demand\". Git detects a submodule as populated if its\npath contains a Git repository. Because Jiri manages these dependency\npaths as independent projects and checks them out, they appear to the\nparent repository (fuchsia.git) as populated submodules. This causes\n\"git fetch\" in the parent repository to recursively fetch them,\nleading to errors. Disabling fetch recursion explicitly prevents this.\n\nTAG\u003dagy\nCONV\u003d6d99291f-568e-47b8-9814-b607d4f2cc0b\n\nChange-Id: I728a61baf73c1843f8f61e0afd5ea22c1c8620a8\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1700855\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "0e0ccc6ba73c6c9c1c84c744854876e17734f42f",
      "tree": "ef7d106bbc34103051376615967ed381e37a6739",
      "parents": [
        "2aa04eb78dc5a40e2954fa760972771fbe3ced86"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Jul 07 10:16:55 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 07 10:16:55 2026 -0700"
      },
      "message": "[cipd] Update Jiri\u0027s version of the cipd CLI\n\nThis is an automated change that updates Jiri\u0027s pinned version of the\n\u0027cipd\u0027 command-line tool. It\u0027s important to use an up-to-date version\nthe cipd CLI in case because the CIPD backend doesn\u0027t guarantee support\nfor arbitrarily old versions of the cipd CLI.\n\nThis change does not require review, just a Code-Review+2 and\nCommit-Queue+2.\n\nHowever, this change should only be submitted by a human during normal\nworking hours. Due to Jiri\u0027s self-updating functionality Jiri changes\nroll out automatically to users the next time they run \u0027jiri update\u0027,\nso it\u0027s important to remain online shortly after submitting this\nchange to respond in case users report issues.\n\nGenerated by \u0027scripts/update_cipd.sh\u0027.\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8676917555615523473\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ic29129cf8bc56f0e3fc2dbcd26a5fda9f6da6ea1\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1695989\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "2aa04eb78dc5a40e2954fa760972771fbe3ced86",
      "tree": "4f791b48d17421ded2ad2947e2c7c3e2c5bc0df3",
      "parents": [
        "f656758a72dc46beff7a4d5938a89e2bed636342"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Jul 06 10:42:24 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jul 06 10:42:24 2026 -0700"
      },
      "message": "[project] Remove noisy log message\n\n`jiri update` checks in many different directories for jiri.lock files,\nso it\u0027s expected that most of the time that check will fail. Remove the\nlog entirely to prevent it from cluttering the logs and creating red\nherrings.\n\nChange-Id: I0cc5e42292bb314eb382ee123e1a8e8627dbfa40\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1694374\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "f656758a72dc46beff7a4d5938a89e2bed636342",
      "tree": "68a9c635bc5158c3937d74c806d9ddbbe49f52db",
      "parents": [
        "1042587d7c10ed46de941d6449faf73419ab6258"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Mon Jun 29 13:22:58 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 29 13:22:58 2026 -0700"
      },
      "message": "[clean] Detach HEAD on clean if on a branch\n\nWhen running \u0027jiri clean\u0027, if a repository is on a local branch,\ndetach HEAD to release the branch. This is useful for worktrees\nwhere we want to release task branches back to the pool without\ndeleting the physical checkouts.\n\nBug: 528369923\nTest: go test ./project/...\nTAG: agy\nCONV: 41febe28-32e9-427e-b1cd-86d8612f0e42\nChange-Id: If9b0e8459398a77303731d1f840c9861df202696\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1682108\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "1042587d7c10ed46de941d6449faf73419ab6258",
      "tree": "a1fbd21b5ff01b23e7a4bdf6961384e5f47b7e68",
      "parents": [
        "746c7e88e3b8f6352a9a78ebda85ece0605f591e"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Fri Jun 26 10:43:14 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jun 26 10:43:14 2026 -0700"
      },
      "message": "[worktree] Evaluate symlinks in FindRoot\n\nEvaluate symlinks when detecting the root directory in FindRoot.\nThis ensures that jiri uses the physical path of the worktree,\nmatching what Git returns (e.g. from rev-parse --show-toplevel).\nWithout this, path mismatches (symlink vs physical) cause jiri to\nfail to detect local projects, leading to warnings and slow syncs\nas it tries to fetch them from the server.\n\nTest: go test ./project/... ./gitutil/...\nBug: 528352628\nChange-Id: Iad46a54f61cbeb56db8b4fdc61b814141a79ff23\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1682103\nReviewed-by: Charles Celerier \u003cchcl@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "746c7e88e3b8f6352a9a78ebda85ece0605f591e",
      "tree": "f57749d74ff877d045c493735f4af4bdf425213b",
      "parents": [
        "17c17049834bc24259ac0364b6dd9b77f4e3d296"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Tue Jun 23 14:24:00 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jun 23 14:24:00 2026 -0700"
      },
      "message": "[project] Accept git trailers that use the \u003d separator\n\nGemini likes to add TAG/CONV trailers using the \u003d separator.\nWithout supporting \u003d, git would fail to parse the trailers, and add\na second Change-Id, uploading a second gerrit CL.\n\nNow that we support \u003d, the commit-msg hook will properly parse\nTAG/CONV trailers and accept them.\n\nTest: go test ./project/...\nBug: 516876349\nTAG: agy\nCONV: c1f201d2-91f1-4105-9f6a-2b14dde98070\nChange-Id: I8a2bb420e786109b6037e1f165a0bd3fda1aadd0\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1672363\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "17c17049834bc24259ac0364b6dd9b77f4e3d296",
      "tree": "b5def2f7bd2e4e31c45ce97fffaef73636558398",
      "parents": [
        "4d435f2bb17290bf2f0472c1641292b7fa1572e8"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Tue Jun 23 14:16:54 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jun 23 14:16:54 2026 -0700"
      },
      "message": "[project] Ignore missing worktree errors on force remove\n\nModify WorktreeRemove and worktree remove command to accept a force\nflag. When force is true, ignore Git errors indicating the worktree\nmetadata is missing in the parent repository, and proceed with\ndirectory cleanup.\n\nTest: go test ./project/... -run TestWorktreeRemoveForceBroken\nBug: 516876349\nTAG: agy\nCONV: c1f201d2-91f1-4105-9f6a-2b14dde98070\nChange-Id: I38e156ac972d4b116a79a6a01eb39ba068a0d461\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1672359\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "4d435f2bb17290bf2f0472c1641292b7fa1572e8",
      "tree": "39b19fb59e852491d829be5688b1492f48c250b3",
      "parents": [
        "84e7b64f8e30125368ed4ceddc4404e93de9d847"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Tue Jun 23 14:15:58 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jun 23 14:15:58 2026 -0700"
      },
      "message": "[worktree] Restrict jiri update to update only parent state\n\nEnsure that running \u0027jiri update\u0027 from inside a worktree updates the\nparent root repository\u0027s manifest and checkout state without mutating\nor updating the worktree checkouts.\n\nTest: go test ./...\nBug: 516876349\nTAG: agy\nCONV: c1f201d2-91f1-4105-9f6a-2b14dde98070\nChange-Id: Ica0cba01ab58421d857f9ae0fd1953487a889d0b\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1672358\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "84e7b64f8e30125368ed4ceddc4404e93de9d847",
      "tree": "c594bd1ebf1e9878246ac28a01fd98cb4a2e4583",
      "parents": [
        "c89c389d3dbe11ae9f3ad7eaeb98eb9230db60a7"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Tue Jun 23 10:51:17 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jun 23 10:51:17 2026 -0700"
      },
      "message": "[project] Avoid unconditional writes to pushurl\n\nIn setupPushURL, check whether remote.origin.pushurl is already set to\nthe target SSO URL before running git config. This prevents git config\nfrom rewriting .git/config and updating its mtime on every jiri update.\n\nTest: go test ./project\nBug: 516876349\nTAG: agy\nCONV: c91d7421-ef78-423e-8c3d-a11745033ab5\nChange-Id: I815260e83fe224d143b7ba632db7776f3878cf3c\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1674707\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "c89c389d3dbe11ae9f3ad7eaeb98eb9230db60a7",
      "tree": "2a3e22f3bcd6ad979c55f6b93893481dce6c8323",
      "parents": [
        "8511ee405dce25f8bd71a672f62b21768cccda60"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Wed Jun 17 09:43:32 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jun 17 09:43:32 2026 -0700"
      },
      "message": "[worktree] Optimize worktree add and remove performance\n\nImplements performance optimizations for \u0027jiri worktree add\u0027 and\n\u0027jiri worktree remove\u0027 to reduce execution times on large checkouts\n(e.g., Fuchsia).\n\n- \u0027jiri worktree remove\u0027:\n  - Parallelized the safety checks (\u0027git status\u0027) across all projects,\n    reducing verification time from ~13s to ~2.6s.\n  - Removed the immediate \u0027PackageGC\u0027 call at the end of the removal,\n    saving ~4s. This cleanup is already handled by other commands.\n- \u0027jiri worktree add\u0027:\n  - Added \u0027SkipStatus\u0027 flag to skip redundant \u0027git status\u0027 checks\n    during project updates, saving ~1.8s.\n  - Optimized \u0027FetchPackages\u0027 to check if package groups are already\n    present in the local cache before running CIPD ACL checks. If\n    cached, it skips both the ACL check and download, reducing the\n    package phase from ~1.5s+ (with high network variance) to ~0.005s.\n\nBenchmark Results (Average of 5 runs):\n- \u0027worktree remove\u0027: 24.696s -\u003e 10.062s (~59.2% speedup)\n- \u0027worktree add\u0027: 19.488s -\u003e 14.704s (~24.5% speedup)\n  - Resolved network-related performance variance\n    (stddev: 2.47s -\u003e 1.09s).\n\nTest: local benchmarks on Fuchsia checkout\nTest: go test ./...\nBug: 516876349\nTAG\u003dagy\nCONV\u003debc0c34d-7d08-46d4-a3f9-273e1f6acf17\n\nChange-Id: Icb73cec076caaf12cc89133f35767ee718c8d31e\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1654014\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "8511ee405dce25f8bd71a672f62b21768cccda60",
      "tree": "2c50eabc6ebadea95f0d913cca384a2a2315bbb6",
      "parents": [
        "fa408dc8ed2cbf99cd9c01c2a333719a9873a317"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Jun 15 12:38:24 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 15 12:38:24 2026 -0700"
      },
      "message": "[jiri] Improve git error messages\n\nOnly show stdout and stderr if they\u0027re non-empty, and move the exit code\nup to the top of the message.\n\nAlso switch to using strings.Builder instead of string concatenation,\nfor efficiency.\n\nChange-Id: Ia59d11fc4fb95a373f5b43338aa8b0fb3ade2ef0\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1658334\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "fa408dc8ed2cbf99cd9c01c2a333719a9873a317",
      "tree": "a53dd210c2dc3acbb772c822357206e8ac36dd19",
      "parents": [
        "843b281b7b1a51b28fbff95109aff1279e7d9761"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Fri Jun 12 13:21:19 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jun 12 13:21:19 2026 -0700"
      },
      "message": "[worktree] Fix remove command for non-existent worktrees\n\nIf a worktree directory does not exist on disk, jiri worktree\nremove now checks if the worktree is registered before attempting\nto prune. If it is not registered, it returns an error instead of\nsilently succeeding.\n\nTest: go test ./project/... -run TestWorktreeRemove\nBug: 516876349\nTAG\u003dagy\nCONV\u003dcec0dcc9-6d4f-4bcd-a38d-2e21bf3559eb\n\nChange-Id: I2547d4ae6d1b5138db8964d1dc8160a2694ff140\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1648755\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "843b281b7b1a51b28fbff95109aff1279e7d9761",
      "tree": "7cc3d23370149a5db96583dc9e37a987607de1c9",
      "parents": [
        "c5a3d805789927f92e5e8ca23a06aa696e65e203"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Fri Jun 12 13:08:17 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jun 12 13:08:17 2026 -0700"
      },
      "message": "[worktree] Warn if package cache is disabled in add\n\nWarn the user when adding a worktree if package-cache is not enabled.\nEnabling package-cache speeds up worktree creation by sharing packages\nwith the main tree.\n\nProvide instructions on how to enable it and how to migrate existing\npackages.\n\nTest: go test ./cmd/jiri/subcommands -run TestWorktreeAddWarning\nTest: go test ./project -run TestWorktree\nBug: 516876349\nTAG\u003dagy\nCONV\u003d4f568505-96ce-4553-8c00-6af24a08c6f5\n\nChange-Id: If40070e23c7e3542126f94c5affb6bcb693f26d7\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1652846\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "c5a3d805789927f92e5e8ca23a06aa696e65e203",
      "tree": "9e7e470ad81837a56c1ba48adc02c2f6c56ea9f2",
      "parents": [
        "bf1b30c7ca18cbf78992ddadc04bcd016e3ab8d9"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Wed Jun 10 17:00:25 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jun 10 17:00:25 2026 -0700"
      },
      "message": "[project] Introduce jiri clean command\n\nIntroduces a new top-level \u0027jiri clean\u0027 command that resets and cleans\na Jiri workspace (supporting both the main tree and worktrees). It\ndiscards uncommitted changes (dirty files) and untracked files in\nparallel across all projects, while preserving build caches (out/),\nprebuilts (prebuilt/), and Jiri metadata (.jiri_root/).\n\n- Implemented Clean(jirix, root) in a new file project/clean.go.\n- Implemented \u0027jiri clean\u0027 subcommand in cmd/jiri/subcommands/clean.go.\n- Registered \u0027jiri clean\u0027 in cmd/jiri/subcommands/subcommands.go.\n- Added integration tests in cmd/jiri/subcommands/clean_test.go.\n\nTest: go test ./cmd/jiri/subcommands -run TestClean\nBug: 516876349\nChange-Id: I3c6cc1241b9b2165ec46b25a112fda4eea100a03\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1645471\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "bf1b30c7ca18cbf78992ddadc04bcd016e3ab8d9",
      "tree": "a7f5dcba835bea6b1a922fe702727b6cec097069",
      "parents": [
        "f633325d323c68127b0c61af6c347a9b8c60bd99"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Wed Jun 10 16:58:38 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jun 10 16:58:38 2026 -0700"
      },
      "message": "[worktree] Add Git worktree support and commands\n\nIntroduces Git worktree integration in Jiri, enabling lightweight,\nisolated checkouts that share packages and metadata with a main parent\nworkspace.\n\nAdded subcommands under \u0027jiri worktree\u0027:\n- \u0027add [path]\u0027: Provisions a new worktree, setting up configuration.\n- \u0027sync [path]\u0027: Synchronizes a worktree\u0027s local projects with the\n  parent manifest\u0027s state and revisions.\n- \u0027remove \u003cpath\u003e\u0027: Safely removes a worktree and its git registry\n  metadata.\n- \u0027list\u0027: Lists registered worktrees, with optional sync verification.\n\nKey implementation details:\n- Supports standard Git worktrees natively by resolving Jiri metadata\n  locations using the common git directory (gitdir/commondir).\n- Updated PackageGC to inspect active worktrees and avoid deleting\n  actively used cached files.\n  - Fixes PackageGC to filter out \"prebuilt\" from excluded directories\n    during the walk, ensuring that active packages referenced from\n    \"prebuilt/\" are not erroneously deleted.\n- Added a safety check in deleteOperation.Run to prevent GC from\n  deleting a parent repository if it has active worktrees.\n- Refactored runProjectsParallel to use errgroup.Group for concurrency\n  control.\n\nTest: go test ./...\nBug: 516876349\nChange-Id: I2b932f06cc941e9d3fba67eece50db1528661688\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1627059\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "f633325d323c68127b0c61af6c347a9b8c60bd99",
      "tree": "f7a29f3d3fed80bda69cd7732b1c085386155088",
      "parents": [
        "31bbda0288f19fe06d395a325589e470d53bc6a1"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Fri Jun 05 09:05:53 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jun 05 09:05:53 2026 -0700"
      },
      "message": "[project] Implement package cache for main tree\n\nImplement a package cache to avoid downloading/copying packages\nmultiple times. This will also support sharing packages across\nworktrees (a feature coming soon).\n\n- Add configuration to jiri.X for enabling the cache.\n- Implement caching and transition logic in project/cache.go.\n  When enabled, packages are cached under .jiri_root/packages/\u003chash\u003e\n  and symlinked to their destination. Transition (migration/restoration)\n  is performed dynamically during the fetch/download process.\n- Add unit and integration tests for transitions.\n\nThe cache can be enabled/disabled using:\n  jiri init -package-cache\u003dtrue|false\n\nManually tested by:\n1) Start with package cache disabled.\n2) Run \u0027jiri update\u0027.\n3) Enable package cache: \u0027jiri init -package-cache\u003dtrue\u0027.\n4) Run \u0027jiri update\u0027.\n5) Disable package cache: \u0027jiri init -package-cache\u003dfalse\u0027.\n6) Run \u0027jiri update\u0027.\n\nTest: go test ./...\nBug: 516876349\nChange-Id: I2a49f7f1fdc6499e38d5663d5562f71ddca75813\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1627999\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "31bbda0288f19fe06d395a325589e470d53bc6a1",
      "tree": "3300b6852adca0c4b1dc8b0d0d3f7b58550de337",
      "parents": [
        "8f2213900b5947f57c00e5f97c833891d5ca2de9"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Thu Jun 04 10:31:39 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jun 04 10:31:39 2026 -0700"
      },
      "message": "[project] Parallelize setProjectRevisions\n\nSpeed up jiri updates by optimizing revision resolution and fetching:\n\n- Parallelize setProjectRevisions using errgroup (concurrency limited to\n  jirix.Jobs) to retrieve current filesystem revisions for all\n  projects concurrently.\n- In fetchLocalProjects, check if the target revision is a SHA-1 commit\n  hash and already exists locally (via IsRevAvailable) in parallel\n  goroutines. If so, skip the git fetch operation to avoid redundant\n  network overhead.\n\nTest: go test ./project/...\nBug: 516876349\nChange-Id: Ieb1510c6175e2b68055f2b8542cce58c0581944b\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1627058\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "8f2213900b5947f57c00e5f97c833891d5ca2de9",
      "tree": "7df7cf437366daa025471d77908a6ad3b49c76a2",
      "parents": [
        "82ddbb8c5eabcde91912e6c4d251710118c84243"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Thu Jun 04 10:30:20 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jun 04 10:30:20 2026 -0700"
      },
      "message": "[osutil] Add file copy utilities\n\nAdd file utility functions in osutil package:\n- CopyFile and CopyDir for copying files and directories.\n\nThese utilities will be used by the prebuilt cache management system.\n\nTest: go test ./osutil/...\nBug: 516876349\nChange-Id: I224fa258771551ebd946888103dddce987e08900\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1625316\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "82ddbb8c5eabcde91912e6c4d251710118c84243",
      "tree": "fe5b1a0e64e471433bf6e058fc3e065f68a5b04b",
      "parents": [
        "a093b2590f1c79ce74ac6c6f359d66c84e23e808"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Thu Jun 04 10:29:32 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jun 04 10:29:32 2026 -0700"
      },
      "message": "[cipd] Skip self-update in tests and retry on ETXTBSY\n\nSkip CIPD self-update when running tests (detected via\nflag.Lookup(\"test.v\")) to avoid network requests during hermetic tests\nand prevent race conditions.\n\nAdditionally, wrap CIPD executions in a retry loop (up to 5 attempts\nwith 50ms delay) when they fail with ETXTBSY (text file busy). This\nerror can happen transiently on some environments (e.g., tmpfs or when\nantivirus scanners hold the newly written binary) immediately after\nbootstrap/write.\n\nTest: go test -count\u003d1 ./cipd/...\nBug: 516876349\nChange-Id: I7706dc12f8a225724186a9a8f02b0b0778cf24ca\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1625315\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "a093b2590f1c79ce74ac6c6f359d66c84e23e808",
      "tree": "ed59e56adcdf5d29457d2d152ef226d6ae88175c",
      "parents": [
        "1cb3648e3a603d383975184ceedfeba6308a8e64"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Thu Jun 04 08:55:56 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jun 04 08:55:56 2026 -0700"
      },
      "message": "[project] Fix PackageKey.Less to satisfy strict weak ordering\n\nThe previous implementation of PackageKey.Less violated strict weak\nordering (specifically asymmetry) because it compared k.name even when\nk.path \u003e other.path. This caused non-deterministic sorting in manifest\npackages, leading to unstable snapshot generation.\n\nTest: go test ./project/...\nTAG\u003dagy\nBug: 516876349\nChange-Id: I8eacba73155ea76c3cc7c578e360ce36b15df241\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1628057\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "1cb3648e3a603d383975184ceedfeba6308a8e64",
      "tree": "4d641a6e683b00671c56e35a84498d5cde8cf20c",
      "parents": [
        "cbdc5407be24af7a644eb52e40229716e4827a2d"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Jun 02 10:27:11 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jun 02 10:27:11 2026 -0700"
      },
      "message": "[cipd] Update Jiri\u0027s version of the cipd CLI\n\nThis is an automated change that updates Jiri\u0027s pinned version of the\n\u0027cipd\u0027 command-line tool. It\u0027s important to use an up-to-date version\nthe cipd CLI in case because the CIPD backend doesn\u0027t guarantee support\nfor arbitrarily old versions of the cipd CLI.\n\nThis change does not require review, just a Code-Review+2 and\nCommit-Queue+2.\n\nHowever, this change should only be submitted by a human during normal\nworking hours. Due to Jiri\u0027s self-updating functionality Jiri changes\nroll out automatically to users the next time they run \u0027jiri update\u0027,\nso it\u0027s important to remain online shortly after submitting this\nchange to respond in case users report issues.\n\nGenerated by \u0027scripts/update_cipd.sh\u0027.\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8680088449138799089\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I9ed3d162a2f96249eeab6537263e60bb4662dad8\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1636201\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "cbdc5407be24af7a644eb52e40229716e4827a2d",
      "tree": "052403355b41260c6c68f157b9a26eb4b348f9b8",
      "parents": [
        "06dcd223c508427d05b1c9576fa0a751e435b23d"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed May 20 11:28:17 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 20 11:28:17 2026 -0700"
      },
      "message": "Remove os.Exit() calls in TestMain funcs\n\nThese were added in commit 3cd76d8ed8e208f7e66c955acbfc02e12d3d855e, but\nI realized that it\u0027s no longer necessary to explicitly call `os.Exit()`\nfrom `TestMain` function as of go 1.15 - see\nhttps://go.dev/doc/go1.15#testingpkgtesting.\n\nChange-Id: I4afbbce56a936a6b33cef7ddd8dc91c465daeeef\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1618508\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "06dcd223c508427d05b1c9576fa0a751e435b23d",
      "tree": "a927bfe53686edebc4c6156cfd2484c899c6d872",
      "parents": [
        "3cd76d8ed8e208f7e66c955acbfc02e12d3d855e"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Fri May 15 12:02:34 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 15 12:02:34 2026 -0700"
      },
      "message": "[project] Fallback to fetching tags on checkout failure\n\nWhen checking out a pinned revision that is not a branch head,\ngerrit/gitiles may return \"not our ref\" if the revision is only\nreachable from a tag and tags were not fetched.\n\nThis change adds a fallback to fetch tags if checkout fails, and also\nenables tag fetching during cache maintenance to prevent these failures.\n\nIt\u0027s worth noting that this is just an unconfirmed fix since I haven\u0027t\nbeen able to reproduce the failure locally. It\u0027s entirely possible that\n`git fetch origin --tags` also doesn\u0027t return the desired tag.\n\nBug: 512110573\nChange-Id: I02a7ce9f28e791dcaa2a44f968978913b782cfa4\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1612728\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "3cd76d8ed8e208f7e66c955acbfc02e12d3d855e",
      "tree": "4c44ca3431353c3b80212b0d862dd3fb6dc1d031",
      "parents": [
        "825e04c1b2ada422b18a6945ce9743b2aebefce8"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Fri May 15 11:12:55 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 15 11:12:55 2026 -0700"
      },
      "message": "[jiritest] Isolate Git environment to speed up tests\n\nIntroduce jiritest.IsolateGitEnv to prevent Jiri test suites from\nreading system-wide or user-level global Git configurations.\n\nOn developer workstations, global/system configurations often register\nhooks (such as \u0027git-secrets\u0027 or corporate auditing tools). Under high\nconcurrency, parallel test execution triggers process fork storms\nrunning these hooks thousands of times. This causes extreme process\nauditing overhead (e.g., auditd daemon contention), slowing local test\nexecution from less than a minute to over 10 minutes.\n\nBypassing system and global configuration files eliminates this\nbottleneck and speeds up local test execution back to under 10 seconds,\nwhile still allowing local repository hooks (e.g., .git/hooks) to\nfunction normally.\n\nChange-Id: I59ba3e6f510c226510c2c47235403e730d9a452d\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1614069\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "825e04c1b2ada422b18a6945ce9743b2aebefce8",
      "tree": "89ffa335bac811478880f04344718873e12a3eaa",
      "parents": [
        "8e472d0ef8f1463d10f417e01d8bd2e1f0fbf5ab"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Fri May 15 11:09:51 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 15 11:09:51 2026 -0700"
      },
      "message": "[jiri] Run `go fmt ./...`\n\nChange-Id: I67198eab332eccc017dcaba223f4cdd8ae29af27\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1614070\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "8e472d0ef8f1463d10f417e01d8bd2e1f0fbf5ab",
      "tree": "a4b20fb1e4f250485ffa78fa99a6ff9da19fc617",
      "parents": [
        "884f8e18ff34e6994176a860be768c248c5597fd"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue May 05 10:20:29 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue May 05 10:20:29 2026 -0700"
      },
      "message": "[cipd] Update Jiri\u0027s version of the cipd CLI\n\nThis is an automated change that updates Jiri\u0027s pinned version of the\n\u0027cipd\u0027 command-line tool. It\u0027s important to use an up-to-date version\nthe cipd CLI in case because the CIPD backend doesn\u0027t guarantee support\nfor arbitrarily old versions of the cipd CLI.\n\nThis change does not require review, just a Code-Review+2 and\nCommit-Queue+2.\n\nHowever, this change should only be submitted by a human during normal\nworking hours. Due to Jiri\u0027s self-updating functionality Jiri changes\nroll out automatically to users the next time they run \u0027jiri update\u0027,\nso it\u0027s important to remain online shortly after submitting this\nchange to respond in case users report issues.\n\nGenerated by \u0027scripts/update_cipd.sh\u0027.\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8682625161455681233\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I42e675d732d18d66483cbb834300cba4f5944f1f\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1599490\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "884f8e18ff34e6994176a860be768c248c5597fd",
      "tree": "ad158d95f7568af83d7e9570093c13aee93bc27b",
      "parents": [
        "2fb7d60d05197c4a4246efa55793a7fb97781f4d"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Apr 28 10:54:12 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 28 10:54:12 2026 -0700"
      },
      "message": "[cipd] Update Jiri\u0027s version of the cipd CLI\n\nThis is an automated change that updates Jiri\u0027s pinned version of the\n\u0027cipd\u0027 command-line tool. It\u0027s important to use an up-to-date version\nthe cipd CLI in case because the CIPD backend doesn\u0027t guarantee support\nfor arbitrarily old versions of the cipd CLI.\n\nThis change does not require review, just a Code-Review+2 and\nCommit-Queue+2.\n\nHowever, this change should only be submitted by a human during normal\nworking hours. Due to Jiri\u0027s self-updating functionality Jiri changes\nroll out automatically to users the next time they run \u0027jiri update\u0027,\nso it\u0027s important to remain online shortly after submitting this\nchange to respond in case users report issues.\n\nGenerated by \u0027scripts/update_cipd.sh\u0027.\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8683256462033535633\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I35240389d106f9c3e67859aaf81f5ff6a8f0f545\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1592008\nReviewed-by: Aidan Wolter \u003cawolter@google.com\u003e\nCommit-Queue: Aidan Wolter \u003cawolter@google.com\u003e\nFuchsia-Auto-Submit: Aidan Wolter \u003cawolter@google.com\u003e\n"
    },
    {
      "commit": "2fb7d60d05197c4a4246efa55793a7fb97781f4d",
      "tree": "e45d60657298e063f295eaf9f7381e86451bf560",
      "parents": [
        "f0e6ce2581db4e610a1d2b3236fe479930c1dce7"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Apr 15 14:49:26 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 15 14:49:26 2026 -0700"
      },
      "message": "[subcommands] Reimplement help topic support\n\nChange-Id: Ib47ad66897d585e44f0c2d363a4df98bc7b9b368\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1577173\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "f0e6ce2581db4e610a1d2b3236fe479930c1dce7",
      "tree": "28e487b018d963be4e65455fe626eba6aba05a49",
      "parents": [
        "df0ab18e21d72f6b4e177ced404297ab56a5dd89"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Apr 08 09:27:51 2026 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 08 09:27:51 2026 -0700"
      },
      "message": "[bootstrap] Improve error reporting on CAPTCHA blocks\n\nThe script was failing silently when fuchsia.googlesource.com returned a\nCAPTCHA redirect (302 to sorry page), because curl was used with -f.\n\nThis change:\n- Removes -f to allow capturing the response body.\n- Checks if the parsed version/log is empty.\n- Detects if the response is a Google sorry page (CAPTCHA)\n  and prints a specific hint instead of the full HTML body.\n- Prints the full response for other failures to aid debugging.\n\nBug: 500414309\nChange-Id: I2ea77dd92eae3864664408a9065ec887e4eb2153\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1568813\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Jiaming Li \u003clijiaming@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "df0ab18e21d72f6b4e177ced404297ab56a5dd89",
      "tree": "fa1a9c4bdc848b40a644e03f0419f457936c003a",
      "parents": [
        "a1428c24f127584f9b5ceeeefaeee48300cd706c"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Mar 03 09:45:38 2026 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 03 09:45:38 2026 -0800"
      },
      "message": "[cipd] Update Jiri\u0027s version of the cipd CLI\n\nThis is an automated change that updates Jiri\u0027s pinned version of the\n\u0027cipd\u0027 command-line tool. It\u0027s important to use an up-to-date version\nthe cipd CLI in case because the CIPD backend doesn\u0027t guarantee support\nfor arbitrarily old versions of the cipd CLI.\n\nThis change does not require review, just a Code-Review+2 and\nCommit-Queue+2.\n\nHowever, this change should only be submitted by a human during normal\nworking hours. Due to Jiri\u0027s self-updating functionality Jiri changes\nroll out automatically to users the next time they run \u0027jiri update\u0027,\nso it\u0027s important to remain online shortly after submitting this\nchange to respond in case users report issues.\n\nGenerated by \u0027scripts/update_cipd.sh\u0027.\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8688332773239131185\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I236ef22e7e717b7e2bf22a9cb6b520ba70f0105a\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1525163\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "a1428c24f127584f9b5ceeeefaeee48300cd706c",
      "tree": "dc978ba68a32131f605847d3d6de1c6a5277117a",
      "parents": [
        "e3b5f7fa1e81094e485a57c4daded32af01026af"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Jan 28 12:51:26 2026 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 28 12:51:26 2026 -0800"
      },
      "message": "[project] Stop generating JIRI_LAST_BASE ref\n\nThis ref does not appear to be used anywhere and there\u0027s no\njustification in the commit message of the CL that added it\n(https://fxrev.dev/29107) or in the bug that was linked in the commit\n(http://fxbug.dev/42103220).\n\nSo let\u0027s delete it in the interests of reducing Jiri\u0027s surface area.\n\nChange-Id: I90535a0ca58444c48868cebaa576367528424b18\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1487756\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Haowei Wu \u003chaowei@google.com\u003e\n"
    },
    {
      "commit": "e3b5f7fa1e81094e485a57c4daded32af01026af",
      "tree": "079c378aff966765091f350de59550cfb410707d",
      "parents": [
        "333d78a67e170cd6673c7d6a106befb3735be405"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Jan 28 12:37:01 2026 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 28 12:37:01 2026 -0800"
      },
      "message": "[project] Mirror JIRI_HEAD to refs/remotes/jiri/head\n\nThis unlocks a slight simplification to the workflow for using jj in\nJiri checkouts. JIRI_HEAD is a pseudo ref, which jj doesn\u0027t support\ntracking as a bookmark. Now we also create `refs/remotes/jiri/head`\npointing to the same commit as JIRI_HEAD; the `jiri` remote is fake but\n`refs/remotes/jiri/head` is a real ref that jj can track.\n\nThis mimics the behavior of the android repo tool, which according to\ntbodt@ \"uses refs named m/\u003cupstream branch name\u003e (there is no m\nremote)\".\n\nAlso, switch to using `git update-ref` to set the refs, which is\nconsidered safer than directly writing files.\n\nChange-Id: I2456ac7b44f72e2f9d36f0e0486c706dc3c90a83\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1487736\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Theodore Dubois \u003ctbodt@google.com\u003e\n"
    },
    {
      "commit": "333d78a67e170cd6673c7d6a106befb3735be405",
      "tree": "ba049d8f34458754550c007f625affa4e6881d0e",
      "parents": [
        "9ba0b6fdffe0295fd21f2bb8b6d05c0ed28ec284"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Dec 08 10:05:33 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Dec 08 10:05:33 2025 -0800"
      },
      "message": "[scripts] Add commit message to CLs from update_cipd.sh\n\nThis provides more context about what these CLs do and how to handle\nthem.\n\nChange-Id: I64158818d2f705956b196db9719aea7743c42256\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1444688\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "9ba0b6fdffe0295fd21f2bb8b6d05c0ed28ec284",
      "tree": "844eb1a6e3c9f20cfd34d95ed5bde2233b2d0bc7",
      "parents": [
        "9bc63274f068802f98100d892890746fb03dc14c"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Dec 02 11:43:05 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Dec 02 11:43:05 2025 -0800"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8696577095477584225\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I20381d2a693a8451db25b97ccdb9f53bfcd878e0\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1438878\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nFuchsia-Auto-Submit: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "9bc63274f068802f98100d892890746fb03dc14c",
      "tree": "5c6f249f52efe36f2760bacc2e86e4dc65c8d40c",
      "parents": [
        "77ea58154def202fb2f0d2e237f640a62308d0db"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Nov 24 12:54:21 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 24 12:54:21 2025 -0800"
      },
      "message": "[submodules] Drop support for submodules entirely\n\nWe disabled submodules in fuchsia checkouts in January 2025 (10 months\nago). Submodule support in Jiri was only kept around as on offramp so\nthat people\u0027s checkouts would automatically be migrated off submodules\nthe next time they ran `jiri update`.\n\nAs long as a developer has run `jiri update` in the last 10 months\n(which should be the case for the vast majority of Fuchsia engineers)\ntheir checkout will no longer be on submodules.\n\nIf a developer hasn\u0027t run `jiri update` in the last 10 months, they\u0027ll\nneed to manually use an older version of Jiri (prior to this change) to\nroll back submodules, or delete and recreate their checkout.\n\nBug: 386810791\nChange-Id: I5be6bab9b2868502be7825308729d91e4c138401\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1429434\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "77ea58154def202fb2f0d2e237f640a62308d0db",
      "tree": "205ef094ab447e4a9237fdedc9135fc410206c63",
      "parents": [
        "a82f8f38843dd04c960e6f69e363ef8e9ce81a8d"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Nov 04 10:02:17 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 04 10:02:17 2025 -0800"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8699113811678652977\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I4f5e0fdfed611d668b826cd0a282f0a8cb774a27\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1412703\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "a82f8f38843dd04c960e6f69e363ef8e9ce81a8d",
      "tree": "89d6331ceaefe1916b2a810ff57874b86c55053e",
      "parents": [
        "e5f7d99004415ac1e2ebad101315bf4b13be9d4a"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Thu Oct 30 15:13:15 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Oct 30 15:13:15 2025 -0700"
      },
      "message": "[jiri] Improve variable/function naming for clarity\n\nChange-Id: I0d56deeb67a32aa07a64cb8d6420769bd835bf09\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1408815\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Jiaming Li \u003clijiaming@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "e5f7d99004415ac1e2ebad101315bf4b13be9d4a",
      "tree": "aa67a2bf88cb7af91ffef43e580c71f1bf7b9d51",
      "parents": [
        "47f1597285afc1b207eac9f7efdab958a2f0c1dc"
      ],
      "author": {
        "name": "Jiaming Li",
        "email": "lijiaming@google.com",
        "time": "Tue Oct 28 09:51:42 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Oct 28 09:51:42 2025 -0700"
      },
      "message": "Reland \"[jiri] Propagate path and attributes to jiri.lock\"\n\nThis reverts commit 47f1597285afc1b207eac9f7efdab958a2f0c1dc.\n\nReason for revert: Fix the breaking change\n\nOriginal change\u0027s description:\n\u003e Revert \"[jiri] Propagate path and attributes to jiri.lock\"\n\u003e\n\u003e This reverts commit 0a248934cab79961e0de42d719b5304fd04dccf0.\n\u003e\n\u003e Reason for revert: breaks in-tree jiri.lock\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e [jiri] Propagate path and attributes to jiri.lock\n\u003e \u003e\n\u003e \u003e Some internal tooling bypasses Jiri and uses lockfiles directly to\n\u003e \u003e determine prebuilts to download, so lockfiles must fully specify\n\u003e \u003e all information necessary for downloading each dependency.\n\u003e \u003e\n\u003e \u003e Bug: 446753261\n\u003e \u003e Change-Id: I2b3d0e1455dbd02cfad261630c8b3e4136706f27\n\u003e \u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1391574\n\u003e \u003e Reviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n\u003e \u003e Commit-Queue: Jiaming Li \u003clijiaming@google.com\u003e\n\u003e \u003e Fuchsia-Auto-Submit: Jiaming Li \u003clijiaming@google.com\u003e\n\u003e\n\u003e Bug: 446753261\n\u003e No-Presubmit: true\n\u003e No-Tree-Checks: true\n\u003e No-Try: true\n\u003e Change-Id: I32ab7355d0b460d14eca5f65478e7bdcc6ab9b60\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1402146\n\u003e Commit-Queue: Jiaming Li \u003clijiaming@google.com\u003e\n\u003e Reviewed-by: RubberStamper 🤖 \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n\nBug: 446753261\nChange-Id: I0fb9d40eb574dc78480236679a16721f11117706\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1402152\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Jiaming Li \u003clijiaming@google.com\u003e\n"
    },
    {
      "commit": "47f1597285afc1b207eac9f7efdab958a2f0c1dc",
      "tree": "423ab24b0aec38869311e3656e55ae826afd8e4a",
      "parents": [
        "0a248934cab79961e0de42d719b5304fd04dccf0"
      ],
      "author": {
        "name": "Jiaming Li",
        "email": "lijiaming@google.com",
        "time": "Fri Oct 24 13:49:14 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Oct 24 13:49:14 2025 -0700"
      },
      "message": "Revert \"[jiri] Propagate path and attributes to jiri.lock\"\n\nThis reverts commit 0a248934cab79961e0de42d719b5304fd04dccf0.\n\nReason for revert: breaks in-tree jiri.lock\n\nOriginal change\u0027s description:\n\u003e [jiri] Propagate path and attributes to jiri.lock\n\u003e\n\u003e Some internal tooling bypasses Jiri and uses lockfiles directly to\n\u003e determine prebuilts to download, so lockfiles must fully specify\n\u003e all information necessary for downloading each dependency.\n\u003e\n\u003e Bug: 446753261\n\u003e Change-Id: I2b3d0e1455dbd02cfad261630c8b3e4136706f27\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1391574\n\u003e Reviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n\u003e Commit-Queue: Jiaming Li \u003clijiaming@google.com\u003e\n\u003e Fuchsia-Auto-Submit: Jiaming Li \u003clijiaming@google.com\u003e\n\nBug: 446753261\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I32ab7355d0b460d14eca5f65478e7bdcc6ab9b60\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1402146\nCommit-Queue: Jiaming Li \u003clijiaming@google.com\u003e\nReviewed-by: RubberStamper 🤖 \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0a248934cab79961e0de42d719b5304fd04dccf0",
      "tree": "6c5be510edb21a6cfee9c9f0227f4212608cd9d2",
      "parents": [
        "306a81a31736e43c6a24eaa3d42e6d6d5aa4c31e"
      ],
      "author": {
        "name": "Jiaming Li",
        "email": "lijiaming@google.com",
        "time": "Fri Oct 24 10:49:14 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Oct 24 10:49:14 2025 -0700"
      },
      "message": "[jiri] Propagate path and attributes to jiri.lock\n\nSome internal tooling bypasses Jiri and uses lockfiles directly to\ndetermine prebuilts to download, so lockfiles must fully specify\nall information necessary for downloading each dependency.\n\nBug: 446753261\nChange-Id: I2b3d0e1455dbd02cfad261630c8b3e4136706f27\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1391574\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Jiaming Li \u003clijiaming@google.com\u003e\nFuchsia-Auto-Submit: Jiaming Li \u003clijiaming@google.com\u003e\n"
    },
    {
      "commit": "306a81a31736e43c6a24eaa3d42e6d6d5aa4c31e",
      "tree": "423ab24b0aec38869311e3656e55ae826afd8e4a",
      "parents": [
        "d89cfbf19d7124849b3362572846573659767dd0"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Thu Oct 23 08:56:01 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Oct 23 08:56:01 2025 -0700"
      },
      "message": "[go.mod] Update to go 1.25\n\nThis lets us use `min()` and `max()` built-ins, among other new\nfeatures.\n\nIt also removes the need to copy loop variables to prevent race\nconditions.\n\nChange-Id: I439d35b38753f25dcbf691b99e7120ba6ebafb50\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1398694\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "d89cfbf19d7124849b3362572846573659767dd0",
      "tree": "6cab8abf36b9e6816f4e7c02ae0bc03a2dae700e",
      "parents": [
        "a7cd931028359f6ee49a02337677a4ad590e8d66"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Thu Oct 23 08:52:29 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Oct 23 08:52:29 2025 -0700"
      },
      "message": "[jiri] Remove jitter from retry backoff\n\nI don\u0027t see much of a point in introducing random jitter to retries in\nJiri; since multiple Jiri instances are generally running on different\nmachines and completely unsynchronized, it\u0027s unlikely that many Jiri\ninstances would happen to sync up and cause a thundering herd effect.\n\nThis logic was originally added in\ncommit 4bbab8725bd3c64b56e70af3d973d526cd894b49 but without any\njustification; it just serves to make retry behavior less predictable\nand understandable for humans.\n\nChange-Id: I29ca2cceb9bc8ed9aa2d5bcc330190d9f5a9ef3f\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1398693\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "a7cd931028359f6ee49a02337677a4ad590e8d66",
      "tree": "cfc6c7971e43f48fe92350619f2d695c6a21abba",
      "parents": [
        "b8bb59c6ba5f3d5d1d6d7174e978c19bd317b653"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Oct 20 16:57:58 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 20 16:57:58 2025 -0700"
      },
      "message": "Revert \"[test] ITTT test\"\n\nThis reverts commit ee0410582d53a32cd12b2a2531c881a34fc34492.\n\nReason for revert: the original CL was only for testing a new Gerrit\nfeature and did not need to be landed.\n\nOriginal change\u0027s description:\n\u003e [test] ITTT test\n\u003e\n\u003e Change-Id: I1587cd6ba5655993e75e2b9308899fc65321bf64\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/715705\n\u003e Reviewed-by: Nathan Mulcahey \u003cnmulcahey@google.com\u003e\n\u003e Commit-Queue: Chris Lewis \u003ccflewis@google.com\u003e\n\nChange-Id: I113d97a11fd270827f0ab573a30dd3e594b39e98\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1398558\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "b8bb59c6ba5f3d5d1d6d7174e978c19bd317b653",
      "tree": "704fdd098db8f1114e559160c36d6204ef090e2c",
      "parents": [
        "108bad1e6f49f932531ab7aea40a85da27d72a1d"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Thu Oct 09 14:39:37 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Oct 09 14:39:37 2025 -0700"
      },
      "message": "[cipd] Fix CIPD verbose logging\n\nFixes a regression from commit 4d3c09ca88ccaed70231132642ba808eebc5e8fb.\n\nPrior to that commit, if Jiri was invoked with the `-vv` flag it would\nalways run the cipd CLI with the default log level (\"info\").\n\nHowever, that commit made Jiri run cipd with `-log-level\u003dwarning` (which\nis much less verbose than `-log-level\u003dinfo`) if progress bars were\ndisabled, as they implicitly are when running in infra because stdout is\nnot a terminal, such as in infra. So cipd CLI produced much less output\nwhen invoked by Jiri in infra.\n\nThis change fixes that, so `jiri -vv` always runs CIPD with\n`-log-level\u003ddebug` (which is even more verbose than the old \"info\"\nlevel), even when progress bars are disabled either explicitly or\nimplicitly. cipd progress bars are still disabled when they should be,\nbut by using the `CIPD_SIMPLE_TERMINAL_UI` env var that the cipd CLI\nsupports instead of by using the `-log-level` flag.\n\nChange-Id: I7f1f7d2f86af5cb4c75a2ee3710fc89aafc48b4a\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1388053\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "108bad1e6f49f932531ab7aea40a85da27d72a1d",
      "tree": "f1ea4130d07dec7a4b45d6861c093d5be21f4d2d",
      "parents": [
        "5f64bb3a4f155f23dc83e959be3f7b45e1241c67"
      ],
      "author": {
        "name": "Yilong Li",
        "email": "liyl@google.com",
        "time": "Thu Oct 09 09:18:03 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Oct 09 09:18:03 2025 -0700"
      },
      "message": "[retry] Fix backoff calculation logic.\n\nPreviously, the backoff timeout was calculated using incorrect units.\n`e.InitialInterval` was in time.Duration (nanoseconds), so `next`\nwas in nanoseconds, but it was compared with `e.MaxInterval` which\nwas a value in seconds.\n\nAs a result, in `retry.Function()` we always had to wait for 64 seconds\neven if it\u0027s the first retry.\n\nThis change fixes the backoff calculation logic and makes all duration\nvariables use the `time.Duration` type.\n\nTest: go test go.fuchsia.dev/jiri/retry\nTest: `jiri update` waits for 5 seconds on its first git failure.\nBug: 405410289\nChange-Id: I4267bfcec4a9cca3fce459f7a44c28170a40d0cd\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1386537\nCommit-Queue: Yilong Li \u003cliyl@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "5f64bb3a4f155f23dc83e959be3f7b45e1241c67",
      "tree": "e0d4e6c532a4db05d40b36914a896f74e52a3244",
      "parents": [
        "68bb4ae719c39016e1e2a8ae89d921eed3791238"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Aug 18 14:08:14 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 18 14:08:14 2025 -0700"
      },
      "message": "[project] Support moving projects into subdirectories\n\nSuppose a project located in \"third_party/foo\" contained a directory\ncalled \"src\". In this case, changing the project\u0027s path from\n\"third_party/foo\" to \"third_party/foo/src\" would fail because the\ndestination directory already existed.\n\nHowever, this move is actually safe - we\u0027re just moving the entire\ndirectory down a level. So add a check to handle this special case.\n\nAlso add an integration test to make sure it works as intended. To get\nthe test to reproduce the failure, I needed to update the code that\ncalls `op.Test()` to actually call `Test()` on all operations in the\nbatch - previously it was skipping the first operation in the batch, and\nso the test wasn\u0027t able to reproduce the failure because the test case\nproduced a batch of size one.\n\nChange-Id: I557bdb436205ae128a2f0976d1f965e4b41c00b6\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1348544\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\n"
    },
    {
      "commit": "68bb4ae719c39016e1e2a8ae89d921eed3791238",
      "tree": "d48ada87da318d28b10918b3c27faadd29c7f53a",
      "parents": [
        "0d24408b2ba27b9a1c8aa54b52f812296e21afbe"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Aug 05 10:08:25 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 05 10:08:25 2025 -0700"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8707358135783596673\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ibf07771d602084a19ebe30206faf56b56007cde8\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1338784\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "0d24408b2ba27b9a1c8aa54b52f812296e21afbe",
      "tree": "db06feff12194601f099a2e0305133ae9d7c2202",
      "parents": [
        "60b793000ff2a5ca7f8fc76bca232d26c50fbe8c"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Jul 01 10:38:45 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 01 10:38:45 2025 -0700"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8710529030655423217\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I588ae0ef2e4cc4ca447d33f39d57650107ac2709\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1312809\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "60b793000ff2a5ca7f8fc76bca232d26c50fbe8c",
      "tree": "0ea5accf38f56f2a0e913ad262c2456acead7883",
      "parents": [
        "2119dbe7c441107b49ee36512fe1c47a2e3c3b75"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Jun 23 23:21:34 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 23 23:21:34 2025 -0700"
      },
      "message": "Remove tracking from branches created by `jiri patch`\n\nPreviously, when `jiri patch` created a branch for the CL under test, it\nwould set up the branch to track the project\u0027s `remote_branch` (default\n\"main\").\n\nA subsequent `jiri update` would then try to rebase (if\n`-rebase-tracked` was set) or fast-forward merge the branch in order to\ninclude any unrolled commits on the tracking branch.\n\nHowever, this causes issues for the new atomic commits workflow, where\nwe don\u0027t want to fast-forward a project from JIRI_HEAD to the tip of its\nmain branch unless we do that for all projects, since unrolled commits\nmay depend on unrolled commits in other projects.\n\nRather than change the behavior of `jiri update` to disable the\nfast-forwarding, which is risky because `jiri update` is used by humans,\njust change the behavior of `jiri patch`, which is primarily used by\ninfra and thus has a more narrow set of use cases that\u0027s easier to\nvalidate.\n\nBug: 426620623\nChange-Id: Id88351a1f5b232a6fc008883dd05f6f729d13e8a\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1306924\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "2119dbe7c441107b49ee36512fe1c47a2e3c3b75",
      "tree": "a7246f2d5fede52d54d29b3be46e0142826fa278",
      "parents": [
        "14922161cb04b8d810a0422da2e6129013dce3e1"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Jun 03 10:36:26 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jun 03 10:36:26 2025 -0700"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8713065743107099937\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ic91bee2b982aba753daacc259660ac35a4f05090\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1291584\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "14922161cb04b8d810a0422da2e6129013dce3e1",
      "tree": "7029642dcdb01229c6810585a9c2101ae7e99052",
      "parents": [
        "b79e9430dd50d26143e6a33c09390c373a083ed9"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Jun 02 15:18:51 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 02 15:18:51 2025 -0700"
      },
      "message": "[project] Fix -local-manifest-project handling\n\nFor consistency with other commands, don\u0027t require that\n`-local-manifest\u003dtrue` be set in order for `-local-manifest-project` to\nbe respected.\n\nI noticed this behavior because https://fxrev.dev/1290305, which updates\na recipe to call `jiri project -local-manifest\u003dfuchsia`, didn\u0027t seem to\nbe respecting the local manifests in the fuchsia project.\n\nBug: 421230590\nChange-Id: I74ee6a849723379260b26616ab92e48944e3c0f8\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1290764\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "b79e9430dd50d26143e6a33c09390c373a083ed9",
      "tree": "d9ad3a19b159d1cc1c62caaa76b5e85f52eb3ba1",
      "parents": [
        "942fd322559c87270f292e0c630ac6b45e79141b"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed May 14 11:38:32 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 14 11:38:32 2025 -0700"
      },
      "message": "Add missing space in log\n\nBefore: \"gitfetch -p origin\u0027 failed: ...\"\nAfter:  \"git fetch -p origin\u0027 failed: ...\"\n\nChange-Id: I03c585168dff44c57524ed5ed8ff41f0baaec52a\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1276984\nReviewed-by: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "942fd322559c87270f292e0c630ac6b45e79141b",
      "tree": "a865b2f063d0952574ed4e00a8c66ae46ae318c6",
      "parents": [
        "fb1cf386c8e0b28b7984bc622555dd2034cdf000"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue May 13 12:24:38 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue May 13 12:24:38 2025 -0700"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8714967525851003249\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I17a688572ab611b3dd508d04d7075b536e780d9a\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1275447\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "fb1cf386c8e0b28b7984bc622555dd2034cdf000",
      "tree": "fbe4925d9892e0411dace8e8af2bca1422dfbcba",
      "parents": [
        "116cffa6d4d651d8131b2d8ae58b284969923fb4"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue May 06 10:24:31 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue May 06 10:24:31 2025 -0700"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8715601704159022193\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ie8de6f4c6d306fd3d278386af4720a873cda995d\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1268870\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nFuchsia-Auto-Submit: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "116cffa6d4d651d8131b2d8ae58b284969923fb4",
      "tree": "d705872120c7d677a9db6001bc217bfcd01516c8",
      "parents": [
        "e5b7e5ec1d2b96bb42a8731e9e1fe40248f54e18"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon May 05 11:31:30 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon May 05 11:31:30 2025 -0700"
      },
      "message": "[jiri] Only print analytics log if analytics enabled\n\nThis log was introduced in\ncommit 5f91dda2e2d659761c803ea6f240024fa4110a5b.\n\nThe immediate motivation for this is to fix `jiri manifest` calls made\nby infra, which expect the stdout to be valid JSON. Since infra runs\nJiri in verbose (-vv) mode, stdout includes trace logging, which\ncorrupts the JSON output.\n\nThis happened to be the only log emitted by `jiri manifest`, and infra\ndoesn\u0027t enable Jiri analytics, so making it conditional on analytics\nbeing enabled should be sufficient to avoid it being printed in infra.\n\nA better long-term fix would be to add a flag to `jiri manifest` to\nspecify a file to which infra should write the output, but that would\nrequire some cross-repo changes, so going with the easy fix for now to\nunblock Jiri rolls into infra.\n\nChange-Id: I9ff1763c25731e1b5b5ff8e89fdea61b94e98c90\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1269004\nReviewed-by: Marc Khouri \u003cmnck@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e5b7e5ec1d2b96bb42a8731e9e1fe40248f54e18",
      "tree": "f143ebf77150eab8d25a806cd4e6ea40352098c7",
      "parents": [
        "5f91dda2e2d659761c803ea6f240024fa4110a5b"
      ],
      "author": {
        "name": "Marc Khouri",
        "email": "mnck@google.com",
        "time": "Mon May 05 07:15:14 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon May 05 07:15:14 2025 -0700"
      },
      "message": "[jiri] Migrate bootstrap subcommand to ExecuteWrapper\n\nThis CL migrates the bootstrap.go subcommand to use the executeWrapper,\nto make it uniform with all the other subcommands. This also ensures the\ncleanup functions are called, since that\u0027s handled by the executeWrapper\n\nTest: $HOME/go/bin/jiri bootstrap\nChange-Id: I97a96b8b94584baf927c7968c486181bfc8a49ad\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1268405\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Marc Khouri \u003cmnck@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "5f91dda2e2d659761c803ea6f240024fa4110a5b",
      "tree": "0be3c8dbef968ab5fb9cb2ee82e7d569c60746e4",
      "parents": [
        "4d3c09ca88ccaed70231132642ba808eebc5e8fb"
      ],
      "author": {
        "name": "Marc Khouri",
        "email": "mnck@google.com",
        "time": "Mon May 05 07:14:37 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon May 05 07:14:37 2025 -0700"
      },
      "message": "[jiri] Fixup progress output\n\nIn http://fxrev.dev/1095993/17/x.go#b589, we refactored the analytics\ninitialization into its own function, rather than having it as part of\nthe \"Run()\" function. However, there were two tasks which were\npreviously happening after the command run, which now were taking place\nduring the setupAnalytics() function.\n\nThis CL moves those two tasks (progress cleanup and analytics sending)\ninto the \"cleanup functions\".\n\nTest: $HOME/go/bin/jiri -vv update (to ensure the analytics cleanup is called)\nChange-Id: Id64e9857c217d80acf74d0eb938768fb3e9a670a\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1268404\nFuchsia-Auto-Submit: Marc Khouri \u003cmnck@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "4d3c09ca88ccaed70231132642ba808eebc5e8fb",
      "tree": "986ce7be93d326dec0dfbe965f31a9f6d45ffe63",
      "parents": [
        "a2eb1576c2007fcb10d8eb47998875e03fc000ca"
      ],
      "author": {
        "name": "Marc Khouri",
        "email": "mnck@google.com",
        "time": "Mon May 05 05:32:18 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon May 05 05:32:18 2025 -0700"
      },
      "message": "[jiri] Show CIPD progress bars by default\n\nThe CIPD tool, when invoked at its default log level, will print\nprogress bars as it fetches packages. This is particularly useful\nfor the current integration checkout, which typically requires multiple\nminutes to fetch all the CIPD packages, even on a cloudtop.\n\nWhen CIPD is invoked at the \"warning\" log level, nothing is printed.\n\nThis CL modifies our invocation of CIPD such that:\n  - `jiri` -\u003e CIPD default log level, with progress bars\n  - `jiri -q` -\u003e CIPD warning log level, typically no output\n  - `jiri -v` or `-vv` -\u003e CIPD debug log level\n\nChange-Id: I0396c1d9b58074a641f399476842173f4041f315\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1263784\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Marc Khouri \u003cmnck@google.com\u003e\n"
    },
    {
      "commit": "a2eb1576c2007fcb10d8eb47998875e03fc000ca",
      "tree": "d46dbebc15a29247fa832e520ae8657df2dc0ee2",
      "parents": [
        "c6c7811c4573df0f56a5f22aa934507549a0dab1"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Apr 30 09:53:55 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 30 09:53:55 2025 -0700"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8716146781962710881\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ia35bad3b092fffa6f6010ede05741810f7efe292\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1264647\nCommit-Queue: Danielle Kay \u003cdanikay@google.com\u003e\n"
    },
    {
      "commit": "c6c7811c4573df0f56a5f22aa934507549a0dab1",
      "tree": "cc68884a86d8ab31ecfe0dce75075ee4cf3739ae",
      "parents": [
        "cf0f39f322ac62e749cea7794799f3c1053987e6"
      ],
      "author": {
        "name": "Marc Khouri",
        "email": "mnck@google.com",
        "time": "Wed Apr 30 09:26:05 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 30 09:26:05 2025 -0700"
      },
      "message": "[jiri] update_cipd.sh can use any matching git revision\n\nFor less popular platforms, CIPD\u0027s builders only build a subset of git\ncommits. This CL allows the update_cipd.sh script to select from any\nof the git commits corresponding to the `latest` tag, not just the 5\nmost recent ones.\n\nChange-Id: Ie92d6a29000ba6821a3776bc1a63f01428a0221a\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1264724\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nFuchsia-Auto-Submit: Marc Khouri \u003cmnck@google.com\u003e\n"
    },
    {
      "commit": "cf0f39f322ac62e749cea7794799f3c1053987e6",
      "tree": "5fcdc2ad6be6bdfe5a68c96786bb1e3b8a06eaa4",
      "parents": [
        "04fb1d8cb67065b279d27490a1a836a9def2c7ff"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Apr 29 10:55:30 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 29 10:55:30 2025 -0700"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8716235880854453137\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I286db9047b5284938788f14d7bbb1d4fb4726370\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1263418\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "04fb1d8cb67065b279d27490a1a836a9def2c7ff",
      "tree": "3acdf30d981fc0e3040346834f4bd590a6bf8121",
      "parents": [
        "88bb1c73026ba7d91beca5f79fb5cadbc75b2518"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Mon Apr 28 11:45:59 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 28 11:45:59 2025 -0700"
      },
      "message": "Revert \"[jiri] Skip packages without expansions on non-matching platforms\"\n\nThis reverts commit 88bb1c73026ba7d91beca5f79fb5cadbc75b2518.\n\nReason for revert: Breaks checkout on macs\n\nOriginal change\u0027s description:\n\u003e [jiri] Skip packages without expansions on non-matching platforms\n\u003e\n\u003e Our toolchain allows for cross compiling Fuchsia host tools to another\n\u003e architecture, such as using a fast linux-amd64 device to compile\n\u003e artifacts for a linux-arm64, so we need to be able to download the\n\u003e supporting packages that don\u0027t match the current platform. This is done\n\u003e by explicitly specifying the full package name with something like:\n\u003e\n\u003e ```\n\u003e     \u003cpackage name\u003d\"fuchsia/third_party/llvm/linux-arm64\"\n\u003e              version\u003d\"git_revision:...\"\n\u003e              platforms\u003d\"linux-amd64,linux-arm64\"\n\u003e              path\u003d\"prebuilt/third_party/llvm/linux-arm64\"/\u003e\n\u003e\n\u003e     \u003cpackage name\u003d\"fuchsia/third_party/llvm/mac-amd64\"\n\u003e              version\u003d\"git_revision:...\"\n\u003e              platforms\u003d\"mac-amd64\"\n\u003e              path\u003d\"prebuilt/third_party/llvm/mac-x64\"/\u003e\n\u003e ```\n\u003e\n\u003e However, we don\u0027t support cross compiling from linux to mac, but before\n\u003e this patch we would always download the mac artifacts on linux because\n\u003e `cipd` will only filter out packages if it uses a ${...} substitution\n\u003e that doesn\u0027t match the current system.\n\u003e\n\u003e This patch avoids this situation by checking if the package has a\n\u003e platform constraint with no substitutions, and just generates a blank\n\u003e line for the cipd.ensure file.\n\u003e\n\u003e As of writing, this patch avoids downloading about 1.5 GiB of artifacts.\n\u003e\n\u003e Fixed: 408079132\n\u003e Change-Id: I06557b86a52a57e9793b9e9f05a45bdc65a90b08\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1255264\n\u003e Commit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\n\u003e Reviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n\u003e Fuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\n\nChange-Id: If4fb45218b791714b89fa0223fcf136cde876ebb\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1262556\nCommit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: RubberStamper 🤖 \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "88bb1c73026ba7d91beca5f79fb5cadbc75b2518",
      "tree": "2ccc68ebf977280792e1fc62c1f62641d3a76e02",
      "parents": [
        "6d0d5c715ae0b33049f6a1f3667ef5d7fdd4abf9"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Thu Apr 24 11:37:30 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 24 11:37:30 2025 -0700"
      },
      "message": "[jiri] Skip packages without expansions on non-matching platforms\n\nOur toolchain allows for cross compiling Fuchsia host tools to another\narchitecture, such as using a fast linux-amd64 device to compile\nartifacts for a linux-arm64, so we need to be able to download the\nsupporting packages that don\u0027t match the current platform. This is done\nby explicitly specifying the full package name with something like:\n\n```\n    \u003cpackage name\u003d\"fuchsia/third_party/llvm/linux-arm64\"\n             version\u003d\"git_revision:...\"\n             platforms\u003d\"linux-amd64,linux-arm64\"\n             path\u003d\"prebuilt/third_party/llvm/linux-arm64\"/\u003e\n\n    \u003cpackage name\u003d\"fuchsia/third_party/llvm/mac-amd64\"\n             version\u003d\"git_revision:...\"\n             platforms\u003d\"mac-amd64\"\n             path\u003d\"prebuilt/third_party/llvm/mac-x64\"/\u003e\n```\n\nHowever, we don\u0027t support cross compiling from linux to mac, but before\nthis patch we would always download the mac artifacts on linux because\n`cipd` will only filter out packages if it uses a ${...} substitution\nthat doesn\u0027t match the current system.\n\nThis patch avoids this situation by checking if the package has a\nplatform constraint with no substitutions, and just generates a blank\nline for the cipd.ensure file.\n\nAs of writing, this patch avoids downloading about 1.5 GiB of artifacts.\n\nFixed: 408079132\nChange-Id: I06557b86a52a57e9793b9e9f05a45bdc65a90b08\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1255264\nCommit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\n"
    },
    {
      "commit": "6d0d5c715ae0b33049f6a1f3667ef5d7fdd4abf9",
      "tree": "3acdf30d981fc0e3040346834f4bd590a6bf8121",
      "parents": [
        "2931d41419e9dcf91365d8b95b9571eef713a826"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Thu Apr 24 10:00:47 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 24 10:00:47 2025 -0700"
      },
      "message": "[git] Don\u0027t set --recurse-submodules\u003dno if submodules are disabled\n\nSubmodules are disabled by default throughout Jiri, so we only need to\nset `--recurse-submodules` if submodules are enabled, no need to set\n`--recurse-submodules\u003dno` if they\u0027re disabled.\n\nChange-Id: I25d0934efdecdd0e6a464235774b076f9e318efd\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1260304\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2931d41419e9dcf91365d8b95b9571eef713a826",
      "tree": "ec39eb222e156076060ed181c355265a303f4fd3",
      "parents": [
        "6ddd54b5486ac14d4e382bca6b7296bec1b319bc"
      ],
      "author": {
        "name": "Danielle Kay",
        "email": "danikay@google.com",
        "time": "Tue Apr 22 10:54:46 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 22 10:54:46 2025 -0700"
      },
      "message": "[jiri] Add back support for -local-manifest for -fetch-packages command\n\nAlso add support for -local-manifest-projects. Rust toolchain rotation\nuses jiri fetch-packages -local-manifest to build locally for rolling\nthe toolchain, see go/tq-rust-rotation-playbook.\n\nChange-Id: I502fa916dbee9cfcc873bfe8e41b5c541cceec29\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1257472\nCommit-Queue: Danielle Kay \u003cdanikay@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "6ddd54b5486ac14d4e382bca6b7296bec1b319bc",
      "tree": "1c390bfd99791f72cff3740003f657dc77ba0cd6",
      "parents": [
        "4b8bfc809cbddfcde247a0b6d73aae14c71df7e1"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Wed Apr 16 15:49:08 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 16 15:49:08 2025 -0700"
      },
      "message": "[jiri] Fix lints\n\nThis updates jiri to address a number of lint failures with\nthe latest go toolchain:\n\n* It removes unused functions and arguments\n* It migrates off deprecated ioutil.ReadDir to os.ReadDir\n* It uses `...` in arguments instead of a manual for loop\n* It uses `strings.TrimPrefix` instead of manually implementing the function\n* Removes unnecessary `fmt.Sprintf(...)`\n* It switches from `bytes.Compare(...) !\u003d 0` to `!bytes.Equal(...)`\n\nChange-Id: Ib291bd85f1c260e8b61cfe4c64e11a54091b3d52\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1254605\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "4b8bfc809cbddfcde247a0b6d73aae14c71df7e1",
      "tree": "a31204f155bbf07b5195cfb5ace7f05d165a70fc",
      "parents": [
        "30f8ad40ae95b0274a2b948ff69272e7b31ae0d1"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Wed Apr 16 14:17:33 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 16 14:17:33 2025 -0700"
      },
      "message": "[jiri] Include root in git error\n\nChange-Id: If45aee0580de00b37ce2bb32994b7b50aa27843f\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1254412\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "30f8ad40ae95b0274a2b948ff69272e7b31ae0d1",
      "tree": "2de1fccd98cc74d38281760e3acaed018c1e5181",
      "parents": [
        "0d20d045b15d378b7362af9531b8b843f15e6d73"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Wed Apr 16 14:09:30 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 16 14:09:30 2025 -0700"
      },
      "message": "[jiri] Return error if `git pull` fails\n\nChange-Id: I838889f6164b2c0ddb2c2f51f94cafe028fa214b\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1254411\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0d20d045b15d378b7362af9531b8b843f15e6d73",
      "tree": "538b6b96193b505ebf4e745855008f490e9027b8",
      "parents": [
        "290929d9b7dba7b5fd569a71550c2c5f1f15a2bb"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Wed Apr 16 14:01:16 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 16 14:01:16 2025 -0700"
      },
      "message": "[jiri] Error out if grep_test fails to add file\n\nChange-Id: I8725193cc6e57201490a60a08489243a7e1df1cc\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1254410\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\n"
    },
    {
      "commit": "290929d9b7dba7b5fd569a71550c2c5f1f15a2bb",
      "tree": "f3e4ad2d35b43d5a914d0644c6a77bd62016a368",
      "parents": [
        "974968d91949d55db34d1a32ab9e0726832b549d"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Wed Apr 16 13:51:35 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 16 13:51:35 2025 -0700"
      },
      "message": "[jiri] Run project tests in parallel\n\nChange-Id: I818c16680438468e42ae2a6e6c3d31e696d14404\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1254409\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "974968d91949d55db34d1a32ab9e0726832b549d",
      "tree": "e5fa99b4f8a162e03fb7907b52b4bdb95d309b51",
      "parents": [
        "9ae58fdf092f81767bf2000952ae3a026aba7a96"
      ],
      "author": {
        "name": "Danielle Kay",
        "email": "danikay@google.com",
        "time": "Mon Apr 14 11:03:54 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 14 11:03:54 2025 -0700"
      },
      "message": "[jiri] Add parameter to selectively respect import projects\u0027 local manifests\n\nPreviously, jiri only respected the local manifest of the jiri project\nroot directory if jiri update -local-manifest is run. We needed to add\nfunctionality to optionally respect the local manifests of imported\nprojects to unblock moving manifests into fuchsia.git and having integration.git import fuchsia.git.\n\nAfter this change, users will be able to pass either -local-manifest or\na list of import projects to -local-manifest-projects. If neither is\npassed, no local manifests are respected.\n\nCL squashed with fixes from fxr/1238745 to address a bug in the import\nmap.\n\nChange-Id: I5365010ef053f271ab7294de481075973aa7fec0\nBug: 385378627\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1185575\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Danielle Kay \u003cdanikay@google.com\u003e\n"
    },
    {
      "commit": "9ae58fdf092f81767bf2000952ae3a026aba7a96",
      "tree": "149f05ae3ec87e429242675c67a52e13ccef9dcd",
      "parents": [
        "5a573a8003a46b187590fa57b3ff878832bac44b"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Apr 09 19:29:18 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 09 19:29:18 2025 -0700"
      },
      "message": "[gerrit] Add timeout to file fetch operations\n\nThis solely applies to fetching the `commit-msg` hook from Gerrit, an\noperation which sometimes hangs indefinitely.\n\nChange-Id: Ibc194071c51a5b1a15cfe60565b2eee8bfc4bdb2\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1247968\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\n"
    },
    {
      "commit": "5a573a8003a46b187590fa57b3ff878832bac44b",
      "tree": "8c011ffdf6b9a18204e83bee5dfbe86cdcd4cf26",
      "parents": [
        "4efa07a72ef1f052ec3263274668eea8eaef26b7"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Apr 09 19:19:00 2025 -0700"
      },
      "committer": {
        "name": "Brian Bosak",
        "email": "bbosak@google.com",
        "time": "Wed Apr 09 19:19:00 2025 -0700"
      },
      "message": "[project] Embed commit-msg hook\n\n... instead of downloading from Gerrit. There\u0027s an ongoing Gerrit outage\nthat broke the endpoint from which we normally fetch the hook.\n\nBug: 409623497\nChange-Id: Id44d1d0d580d74cd69e09261e4afc82bebb4e5b3\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1247866\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Brian Bosak \u003cbbosak@google.com\u003e\n"
    },
    {
      "commit": "4efa07a72ef1f052ec3263274668eea8eaef26b7",
      "tree": "beffcf77b6613c5e91c8eace16207c68e66706fe",
      "parents": [
        "b582a5ef33bf66508d2a9687372250751f8bbf92"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Apr 08 10:30:49 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 08 10:30:49 2025 -0700"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8718138420009659233\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ib06b4b1584196d5540c07e507198c9c287fcf07e\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1248024\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b582a5ef33bf66508d2a9687372250751f8bbf92",
      "tree": "f81c1ecee54625d56ac14114554cba09c14875ab",
      "parents": [
        "da212082f721873b41769c3d9edf712d0fce05de"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Mon Apr 07 16:43:00 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 07 16:43:00 2025 -0700"
      },
      "message": "Pass loop-scope arguments to closure\n\nIn Go \u003c\u003d1.21 loop variables had lifetimes of the outer scope, rather\nthan inside the loop scope, which can lead to the k and v values being\nmodified out from under the closure. While this has been fixed in Go\n1.22, this avoids the issue in case anyone tries compiling jiri with an\nolder version of Go.\n\nChange-Id: Ie83a4a00d8f0d86ad598b861a6aef4801dcdf67e\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1247226\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "da212082f721873b41769c3d9edf712d0fce05de",
      "tree": "43544f6a3cd0282ad2f128272b7bcd96b03bcbd2",
      "parents": [
        "c3685f95348ec7af0cf52233b5660438c115d61b"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Mon Apr 07 16:37:46 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 07 16:37:46 2025 -0700"
      },
      "message": "Return errors\n\nThis returns errors when they happen\n\nChange-Id: Ide44e30b1a9634e3294f73d8be897a6afdea5cc6\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1247225\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c3685f95348ec7af0cf52233b5660438c115d61b",
      "tree": "552c632b635f9a0ff9802f46190aaaafc82cb4f4",
      "parents": [
        "709aee1abb6526c12f87627c622f6af06db6c6b9"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Mon Apr 07 16:34:02 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 07 16:34:02 2025 -0700"
      },
      "message": "Fix trimming \u0027origin/\u0027 from branches\n\n`strings.TrimLeft`, which takes a cutset, and so removes\nall characters in the cutset from a string. So a call like\n`strings.TrimLeft(\"/orign/refs\", \"origin/\")` would produce\nthe string `\"efs\". This switches to `strings.TrimPrefix` to\nremove the whole string `\"origin/\"` from the branch.\n\nChange-Id: Ic7b26f611bdfb781eabf9bfca5ce834085332b0a\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1247224\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "709aee1abb6526c12f87627c622f6af06db6c6b9",
      "tree": "90447287d309a75d98e19c0449e842e6703de51e",
      "parents": [
        "f3136d7337796703a4bcd938bf49e95ef1f3590e"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Mar 31 10:04:32 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 31 10:04:32 2025 -0700"
      },
      "message": "[jiri] Set ImportedBy on Project structs\n\n... to point to the \u003cimport\u003e that caused the project to be imported. For\na project that has the same remote as its \u003cimport\u003e, set `ImportedBy` to\nthe name of the parent import to allow constructing a dependency graph.\n\nThis field will be used to only update specified projects and their\ndependencies in a subsequent CL.\n\nBug: 385378627\nChange-Id: I68f343d104dd0219f6c5a4d1e40412c7a1a93c10\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1239744\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\n"
    },
    {
      "commit": "f3136d7337796703a4bcd938bf49e95ef1f3590e",
      "tree": "b15a6a1bb677c4165ae5d8331910adcb2d1af877",
      "parents": [
        "1735f3b2f16c578808aaea430e1236d1000af40f"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Fri Mar 28 10:26:45 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 28 10:26:45 2025 -0700"
      },
      "message": "[tests] Improve naming of repos in integration tests\n\nInstead of \"manifest/imported/transitive\" for tests of nested imports,\nuse \"a/b/c\" which is shorter and requires less mental energy to\nunderstand.\n\nChange-Id: If57df1d976933d255fe8924c96464dbfc993bd60\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1239284\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "1735f3b2f16c578808aaea430e1236d1000af40f",
      "tree": "b28a6d4c71eceef14aee3ce78a3ea58347baf6e9",
      "parents": [
        "8b71e456aace0004b48ea0494513cbd58b6e52de"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Mar 26 14:57:58 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 26 14:57:58 2025 -0700"
      },
      "message": "[loader] Correctly set parent import name\n\nPreviously we never actually set the `parentImport` parameter to be the\nname of any import, so the `parentImport` defaulted to the value\nconstructed on line 576 of \"import[manifest\u003d..., remote\u003d...]\".\n\nChange-Id: I1959cc98689b63bc82e4d82eb299d6abf05ebadb\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1236369\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\n"
    },
    {
      "commit": "8b71e456aace0004b48ea0494513cbd58b6e52de",
      "tree": "1fbcf0bdd13189489429899a921aaddd6e93f2b0",
      "parents": [
        "84e6b898712664ee9425207946b91a03fd1f23b6"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Mar 26 06:15:42 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 26 06:15:42 2025 -0700"
      },
      "message": "Reland \"Drop support for writing checkout.gni and .git/info/exclude\"\n\nThis reverts commit 84e6b898712664ee9425207946b91a03fd1f23b6.\n\nReason for revert: will be safe to reland after fxrev.dev/1235248\n\nOriginal change\u0027s description:\n\u003e Revert \"Drop support for writing checkout.gni and .git/info/exclude\"\n\u003e\n\u003e This reverts commit 06fdbbd6254b812fd26eee5658afec7d76198308.\n\u003e\n\u003e Reason for revert: this wasn\u0027t safe to land until after \n\u003e fxrev.dev/1235248 lands. I didn\u0027t mean to set auto-submit :(\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Drop support for writing checkout.gni and .git/info/exclude\n\u003e \u003e\n\u003e \u003e checkout.gni is no longer needed now that we\u0027ve dropped support for\n\u003e \u003e submodule-based checkouts of Fuchsia. Therefore we no longer need to\n\u003e \u003e add checkout.gni to `.git/info/exclude`.\n\u003e \u003e\n\u003e \u003e I decided to entirely drop support for writing files listed in the\n\u003e \u003e `flag` field to `.git/info/exclude` to discourage people from using that\n\u003e \u003e feature, since it results in magic git-ignored files being written to\n\u003e \u003e checkouts, and generally hard-to-debug situations. `build/cipd.gni` is\n\u003e \u003e the only other file written by that mechanism, and it\u0027s already ignored\n\u003e \u003e in fuchsia.git\u0027s `.gitignore` file, so adding it to `.git/info/exclude`\n\u003e \u003e is redundant.\n\u003e \u003e\n\u003e \u003e Change-Id: I91be845c2f848dbe3fb83b55f40e81ac88875d6c\n\u003e \u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1235426\n\u003e \u003e Reviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\n\u003e \u003e Commit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n\u003e \u003e Fuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n\u003e\n\u003e No-Presubmit: true\n\u003e No-Tree-Checks: true\n\u003e No-Try: true\n\u003e Change-Id: Id47f97b30ba0fd07f51f59bf6536dc1a28eae4ac\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1235884\n\u003e Fuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n\u003e Reviewed-by: RubberStamper 🤖 \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n\u003e Commit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n\nChange-Id: Ie767230c3bd24a940f92a2e6d63cd007e08bb5e1\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1236264\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: RubberStamper 🤖 \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "84e6b898712664ee9425207946b91a03fd1f23b6",
      "tree": "a9073b10c6612b348a2b12496b782ea4f69bbb40",
      "parents": [
        "06fdbbd6254b812fd26eee5658afec7d76198308"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Mar 24 19:16:07 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 24 19:16:07 2025 -0700"
      },
      "message": "Revert \"Drop support for writing checkout.gni and .git/info/exclude\"\n\nThis reverts commit 06fdbbd6254b812fd26eee5658afec7d76198308.\n\nReason for revert: this wasn\u0027t safe to land until after \nfxrev.dev/1235248 lands. I didn\u0027t mean to set auto-submit :(\n\nOriginal change\u0027s description:\n\u003e Drop support for writing checkout.gni and .git/info/exclude\n\u003e\n\u003e checkout.gni is no longer needed now that we\u0027ve dropped support for\n\u003e submodule-based checkouts of Fuchsia. Therefore we no longer need to\n\u003e add checkout.gni to `.git/info/exclude`.\n\u003e\n\u003e I decided to entirely drop support for writing files listed in the\n\u003e `flag` field to `.git/info/exclude` to discourage people from using that\n\u003e feature, since it results in magic git-ignored files being written to\n\u003e checkouts, and generally hard-to-debug situations. `build/cipd.gni` is\n\u003e the only other file written by that mechanism, and it\u0027s already ignored\n\u003e in fuchsia.git\u0027s `.gitignore` file, so adding it to `.git/info/exclude`\n\u003e is redundant.\n\u003e\n\u003e Change-Id: I91be845c2f848dbe3fb83b55f40e81ac88875d6c\n\u003e Reviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1235426\n\u003e Reviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\n\u003e Commit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n\u003e Fuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: Id47f97b30ba0fd07f51f59bf6536dc1a28eae4ac\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1235884\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: RubberStamper 🤖 \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "06fdbbd6254b812fd26eee5658afec7d76198308",
      "tree": "1fbcf0bdd13189489429899a921aaddd6e93f2b0",
      "parents": [
        "ed2bf3cd991c946aaf589f9f744172e37bedb66f"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Mar 24 15:49:16 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 24 15:49:16 2025 -0700"
      },
      "message": "Drop support for writing checkout.gni and .git/info/exclude\n\ncheckout.gni is no longer needed now that we\u0027ve dropped support for\nsubmodule-based checkouts of Fuchsia. Therefore we no longer need to\nadd checkout.gni to `.git/info/exclude`.\n\nI decided to entirely drop support for writing files listed in the\n`flag` field to `.git/info/exclude` to discourage people from using that\nfeature, since it results in magic git-ignored files being written to\ncheckouts, and generally hard-to-debug situations. `build/cipd.gni` is\nthe only other file written by that mechanism, and it\u0027s already ignored\nin fuchsia.git\u0027s `.gitignore` file, so adding it to `.git/info/exclude`\nis redundant.\n\nChange-Id: I91be845c2f848dbe3fb83b55f40e81ac88875d6c\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1235426\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "ed2bf3cd991c946aaf589f9f744172e37bedb66f",
      "tree": "a9073b10c6612b348a2b12496b782ea4f69bbb40",
      "parents": [
        "8d1741735e839e29d7b2088274c89a8ae16e473c"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Mar 19 08:01:46 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 19 08:01:46 2025 -0700"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8720040955976179825\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I41c32e62c4d9158f9222407bf204b0b82ae61ef5\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1231011\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "8d1741735e839e29d7b2088274c89a8ae16e473c",
      "tree": "147d6f08d67e9b869b7018ff66c99d7558a592cf",
      "parents": [
        "3e91d14fe23ec0d4e9ebd0d79e85cd49f51a3fd5"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Mar 11 10:48:43 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 11 10:48:43 2025 -0700"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8720675135051441889\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Icff6a605e71a4964f17c4230c03c3d14138a77ca\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1225586\nCommit-Queue: Danielle Kay \u003cdanikay@google.com\u003e\n"
    },
    {
      "commit": "3e91d14fe23ec0d4e9ebd0d79e85cd49f51a3fd5",
      "tree": "a21ca705323c65674976fa4ff6398543e9164487",
      "parents": [
        "9f9ec7b2f7b7745709bb9316f86df63f775b9c94"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Mar 10 12:14:21 2025 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 10 12:14:21 2025 -0700"
      },
      "message": "[project] Fix typo\n\nThis was a bug that didn\u0027t cause incorrect behavior, but prevented the\ncode from working as intended - it made the code always re-set the\nconfig value (unless the value happened to be the same as the key, which\nis never the case in practice), whereas the intention was to only set\nthe config value if it differed from the existing value.\n\nChange-Id: Iadc7d6c3fb9e385fb1a2d07f17dbe6381ec580b2\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1224584\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "9f9ec7b2f7b7745709bb9316f86df63f775b9c94",
      "tree": "4f4af7f1da819677b9a54911cb6d48f3a4089adb",
      "parents": [
        "15dc244efc62118b9656ab43fba1d835f8d39fc9"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Mar 04 11:09:26 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 04 11:09:26 2025 -0800"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8721309311551962849\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ie5315e3df5f261a50747f208a1a0a4e539c7ef0d\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1219740\nFuchsia-Auto-Submit: Ina Huh \u003cihuh@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "15dc244efc62118b9656ab43fba1d835f8d39fc9",
      "tree": "48e6c48da604093f4ff97fdd342b4f05aba60354",
      "parents": [
        "e0be38ae551ddab9954fe29e6a7ec156284d5e6e"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Feb 25 11:31:31 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Feb 25 11:31:31 2025 -0800"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8721943492677089953\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ib777d4979a5882c0d2440e8acaba8fb1bb8fedc0\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1213950\nFuchsia-Auto-Submit: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "e0be38ae551ddab9954fe29e6a7ec156284d5e6e",
      "tree": "7792f8c0447cf09e4210fd0a9a5cdc8c844eb641",
      "parents": [
        "3fb9288265715ed6e0e5bef7496ec6eb8bfc48a8"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Feb 24 11:36:24 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Feb 24 11:36:24 2025 -0800"
      },
      "message": "[project] Force-disable submodule recursion\n\nNow that we\u0027ve rolled back submodules, Jiri expects submodules to never\nbe enabled. However, this expectation is violated if the user has\n`submodule.recurse\u003dtrue` in their global git config. Make sure to\noverride that value in local checkouts.\n\nChange-Id: I160258ea439a7c5030a7f1cf7b091090005755a3\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1212084\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3fb9288265715ed6e0e5bef7496ec6eb8bfc48a8",
      "tree": "8c18ef4c38ceb2b69061a84d2c88dea8838fc396",
      "parents": [
        "9bccd115f8e14c0775c2d286b3d7b6e3f10fda97"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Mon Feb 24 07:29:39 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Feb 24 07:29:39 2025 -0800"
      },
      "message": "[project] Propagate errors\n\nUse `errgroup.Group` instead of `sync.WorkGroup` to propagate errors\nfrom these operations.\n\nChange-Id: I009b73aaeda5a98a87263c258db9118c5992b173\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1211787\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "9bccd115f8e14c0775c2d286b3d7b6e3f10fda97",
      "tree": "5f828b2b4e072a34a7c9262884170807fc6f3cf0",
      "parents": [
        "2bd6e82ccfa46e481a0c98ba0587a9138badf0ff"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Feb 18 12:00:54 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Feb 18 12:00:54 2025 -0800"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8722567502527037681\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ibe9df5b01813ea171003ac8fc11622feb57ec2a9\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1209024\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "2bd6e82ccfa46e481a0c98ba0587a9138badf0ff",
      "tree": "db03adea79aa55c14a5f4176e1d25d0a2d33dec6",
      "parents": [
        "69ae605f0fea4ab04021e0b46e504170e42c1f56"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Feb 04 09:19:27 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Feb 04 09:19:27 2025 -0800"
      },
      "message": "Run \"scripts/update_cipd.sh\"\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8723846026870553905\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I0109ec799d3730e9e74ca497da927308a8f740ed\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1199124\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "69ae605f0fea4ab04021e0b46e504170e42c1f56",
      "tree": "577feec2fa861e693246c32d559ad6b92bb418eb",
      "parents": [
        "b49db7e97796022aecfd1a02a31d5a1ef446691b"
      ],
      "author": {
        "name": "Danielle Kay",
        "email": "danikay@google.com",
        "time": "Mon Feb 03 15:34:48 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Feb 03 15:34:48 2025 -0800"
      },
      "message": "[jiri] Fix some string formatting\n\nChange-Id: I3cf48a1efa17e2c3019e07c890e403d2582f1a50\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1198243\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Danielle Kay \u003cdanikay@google.com\u003e\n"
    },
    {
      "commit": "b49db7e97796022aecfd1a02a31d5a1ef446691b",
      "tree": "457ca0c82919a35889d6c5b736f621639beb113a",
      "parents": [
        "c32e2a69422b56442f00ce85d4d3960f34b78718"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Jan 29 12:59:53 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 29 12:59:53 2025 -0800"
      },
      "message": "[project] Add newline to error message\n\nMakes it more readable.\n\nChange-Id: I72b43140e21dbf7594deea0aea910d8690de5c5e\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1195895\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "c32e2a69422b56442f00ce85d4d3960f34b78718",
      "tree": "1886e33efa04d37a494a225998ae0a8fc5e00475",
      "parents": [
        "cf3394623c0cde55f1173d8ac46ad2f75b4f231e"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Jan 29 09:58:59 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 29 09:58:59 2025 -0800"
      },
      "message": "[project] Improve error message for inconsistent submodule states\n\nChange-Id: Ia950b4640fa7baca88aaa8e571d01392a3955b39\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1195655\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\n"
    },
    {
      "commit": "cf3394623c0cde55f1173d8ac46ad2f75b4f231e",
      "tree": "df633e619bc601b3644f100d688437b7fa03a3b9",
      "parents": [
        "29fccfe5e4e9d0cad8ffaad443306896b1f0250b"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Jan 29 05:20:38 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 29 05:20:38 2025 -0800"
      },
      "message": "[init] Fix error messages\n\nI messed these up with a search-and-replace in fxrev.dev/1092833.\n\nChange-Id: Ifec31e1f80da6870b5ade5ef9c412ee79c597955\nReviewed-on: https://fuchsia-review.googlesource.com/c/jiri/+/1194958\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\nReviewed-by: Danielle Kay \u003cdanikay@google.com\u003e\n"
    }
  ],
  "next": "29fccfe5e4e9d0cad8ffaad443306896b1f0250b"
}
