REPO(1)

πŸ’– REPO(1) β€” the Repo Manual, but make it a group chat πŸ’–

okay bestie, pull up a chair πŸͺ‘ because this is the manual page for repo smartsync, from the Repo Manual, and we are gonna get you fluent. no cap.


✨ NAME ✨

repo β€” repo smartsync β€” manual page for repo smartsync


✨ SYNOPSIS ✨

repo smartsync [<project>...]

✨ DESCRIPTION ✨

🌸 Summary 🌸

Update working tree to the latest known good revision. that's it, that's the whole vibe. your tree, but fresh πŸ’…


✨ OPTIONS ✨

  • -h, --help β€” show this help message and exit. the "help me bestie" button 🫢
  • -j JOBS, --jobs=JOBS β€” number of jobs to run in parallel (default: based on number of CPU cores). let your CPU cook πŸ”₯
  • --jobs-network=JOBS β€” number of network jobs to run in parallel (defaults to --jobs or 1). Ignored unless --no-interleaved is set. lowkey ignored unless you said --no-interleaved, iykyk
  • --jobs-checkout=JOBS β€” number of local checkout jobs to run in parallel (defaults to --jobs or based on number of CPU cores). Ignored unless --no-interleaved is set. same deal, also ignored unless --no-interleaved ✨
  • -f, --force-broken β€” obsolete option (to be deleted in the future). it's giving legacy. don't get attached πŸ’€
  • --fail-fast β€” stop syncing after first error is hit. one oopsie and we're DONE βœ‹
  • --force-sync β€” overwrite an existing git directory if it needs to point to a different object directory. WARNING: this may cause loss of data. ⚠️ girl. be careful.
  • --force-checkout β€” force checkout even if it results in throwing away uncommitted modifications. WARNING: this may cause loss of data. 😭 your uncommitted work does NOT survive this
  • --force-remove-dirty β€” force remove projects with uncommitted modifications if projects no longer exist in the manifest. WARNING: this may cause loss of data. πŸ’€ brutal but it's what it says
  • --rebase β€” rebase local commits regardless of whether they are published. published? unpublished? doesn't care, rebasing anyway πŸ’…
  • -l, --local-only β€” only update working tree, don't fetch. stay home, no server gossip 🏠
  • --no-manifest-update, --nmu β€” use the existing manifest checkout as-is. (do not update to the latest revision). freeze. do not perceive the latest revision πŸ™ˆ
  • --interleaved β€” fetch and checkout projects in parallel (default). the default behavior, main character energy πŸ‘‘
  • --no-interleaved β€” fetch and checkout projects in phases. phases, not parallel πŸŒ€
  • -n, --network-only β€” fetch only, don't update working tree. grab the goods, touch nothing πŸŽ€
  • -d, --detach β€” detach projects back to manifest revision. bye branch, hello detached ✌️
  • -c, --current-branch β€” fetch only current branch from server. just the one, we're loyal πŸ’œ
  • --no-current-branch β€” fetch all branches from server. all of them. greedy. obsessed 🌈
  • -m NAME.xml, --manifest-name=NAME.xml β€” temporary manifest to use for this sync. temp manifest, temp vibe ⭐
  • -g GROUP, --groups=GROUP β€” sync projects matching the specific groups. Not persistent unlike when used on init. it does NOT stick around like it does on init, fr fr
  • --clone-bundle β€” enable use of /clone.bundle on HTTP/HTTPS. bundle szn πŸ“¦
  • --no-clone-bundle β€” disable use of /clone.bundle on HTTP/HTTPS. no bundle, we're going raw 🚫
  • -u MANIFEST_SERVER_USERNAME, --manifest-server-username=MANIFEST_SERVER_USERNAME β€” username to authenticate with the manifest server. who dis πŸ”‘
  • -p MANIFEST_SERVER_PASSWORD, --manifest-server-password=MANIFEST_SERVER_PASSWORD β€” password to authenticate with the manifest server. the secret 🀫
  • --recurse-submodules β€” sync submodules from server. yes, down into the submodules πŸ•³οΈ
  • --no-recurse-submodules β€” don't sync submodules from server. nope, not going down there πŸ™…
  • --use-superproject β€” use the manifest superproject to sync projects; implies -c. superproject mode, and it implies -c ✨
  • --no-use-superproject β€” disable use of manifest superprojects. superproject cancelled 🚫
  • --superproject-revision=SUPERPROJECT_REVISION β€” sync to superproject revision (applies to outer manifest). applies to the outer manifest, fyi πŸ¦‹
  • --tags β€” fetch tags. tags girlie 🏷️
  • --no-tags β€” don't fetch tags (default). the default, actually πŸŽ€
  • --optimized-fetch β€” only fetch projects fixed to sha1 if revision does not exist locally. if it's not here, then and only then πŸ’…
  • --retry-fetches=RETRY_FETCHES β€” number of times to retry fetches on transient errors. transient errors, we try again πŸ”
  • --prune β€” delete refs that no longer exist on the remote (default). cleanup szn, and it's the default 🧹
  • --no-prune β€” do not delete refs that no longer exist on the remote. keep the ghosts πŸ‘»
  • --auto-gc β€” run garbage collection on all synced projects. gc on EVERY synced project πŸ—‘οΈ
  • --no-auto-gc β€” do not run garbage collection on any projects (default). the default, no gc for you πŸ’€

πŸŽ€ Logging options πŸŽ€

  • -v, --verbose β€” show all output. all of it. every crumb πŸ“
  • -q, --quiet β€” only show errors. silence except when things break 🀫

🌈 Multi-manifest options 🌈

  • --outer-manifest β€” operate starting at the outermost manifest. start at the very outside πŸŒ€
  • --no-outer-manifest β€” do not operate on outer manifests. not the outer ones, no πŸ™…
  • --this-manifest-only β€” only operate on this (sub)manifest. this one. just this one πŸ’…
  • --no-this-manifest-only, --all-manifests β€” operate on this manifest and its submanifests. this one AND all its little submanifests 🫢

⭐ repo Version options ⭐

  • --no-repo-verify β€” do not verify repo source code. skip the verification, live dangerously πŸ’€

πŸ¦‹ post-sync hooks πŸ¦‹

  • --no-verify β€” Do not run the post-sync hook. no hook today 🚫
  • --verify β€” Run the post-sync hook without prompting. run it, no questions asked ✨
  • --ignore-hooks β€” Do not abort if post-sync hooks fail. if the hook flops, we carry on 😌

Run repo help smartsync to view the detailed manual. πŸ‘‘


✨ DETAILS ✨

The repo smartsync command is a shortcut for sync -s. that's the tea β˜•


and that's the whole page, bestie!! this was the repo smartsync manual, dated September 2026, from the REPO(1) section of the Repo Manual. you ate this. periodt πŸ’…βœ¨πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ where this page comes from