summaryrefslogtreecommitdiff
path: root/release
AgeCommit message (Collapse)Author
2026-06-25man: disable line wrappingBrian Gan
When help2man runs the repo script to generate man pages, the argparse module relies on the COLUMNS environment variable to wrap help text. This wrapping can cause URLs and descriptions to be awkwardly broken across lines. Setting COLUMNS="10000" prevents argparse from wrapping the output, keeping URLs intact in the generated man pages. Additionally, this fixes a broken git documentation URL fragment for --partial-clone in the repo script. Bug: 295374161 Change-Id: I0c79f37fbfe2bebe71ff90585f2e5e1f88ea33cb Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/601482 Tested-by: Brian Gan <brgan@google.com> Commit-Queue: Brian Gan <brgan@google.com> Reviewed-by: Gavin Mak <gavinmak@google.com>
2026-05-14Automated: Migrate gerrit/git-repo from gsutil to gcloud storagegurusai-voleti
Bug: 486536908 Change-Id: I248b093e189a3784b8959e837a5d66857f1ce0fc Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/577201 Reviewed-by: Gavin Mak <gavinmak@google.com> Tested-by: Guru sai rama subbarao Voleti (xWF) <gvoleti@google.com> Commit-Queue: Guru sai rama subbarao Voleti (xWF) <gvoleti@google.com>
2026-05-14run_tests: help2man: update to latest releaseMike Frysinger
Change-Id: I30e4a6452ac5504b782fe545a59ca1f58ac70385 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/583621 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Gavin Mak <gavinmak@google.com> Commit-Queue: Mike Frysinger <vapier@google.com>
2026-05-12release: update-manpages: revert color filteringMike Frysinger
We pull a pinned help2man from cipd now, so we should get stable behavior between developers. That means the color filtering should not be necessary anymore, and we can drop the logic & unittest. Change-Id: Ib53e1ce7f8d610d7f624c9a019c79dc5f438ac0d Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/582402 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Gavin Mak <gavinmak@google.com>
2026-05-12run_tests: leverage cipd when available for help2manMike Frysinger
This tool isn't installed on CI bot images so we've been skipping it, but this is causing people to not run tests locally, and ignore errors. Use cipd to pull the tool in when available. Then revert a recent man change that the tool rejects. Change-Id: I1030d0070fd5a624656eba7434ae6ec99b2e3f2d Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/582401 Reviewed-by: Greg Edelston <gredelston@google.com> Tested-by: Mike Frysinger <vapier@google.com>
2026-04-03Fix all flake8 warnings from newer flake8-bugbear and flake8-comprehensionsCarlos Fernandez
Address warnings introduced by flake8-bugbear 24.12.12 and flake8-comprehensions 3.16.0: - C408: Replace dict()/list() calls with literal {} and [] - C413: Remove unnecessary list() around sorted() - C414: Remove unnecessary list() inside sorted() - C419: Suppress intentional list comprehension in all() (noqa) - B001: Replace bare except with except Exception - B006: Replace mutable default arguments with None - B010: Replace setattr() with direct attribute assignment - B017: Use RuntimeError instead of Exception in tests - B019: Suppress lru_cache on methods for long-lived objects (noqa) - B033: Remove duplicate item in set literal Change-Id: If4693d3e946200bbc22f689f7b94da604addcb80 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/566321 Tested-by: Carlos Fernandez <carlosfsanz@meta.com> Commit-Queue: Carlos Fernandez <carlosfsanz@meta.com> Reviewed-by: Mike Frysinger <vapier@google.com> Reviewed-by: Gavin Mak <gavinmak@google.com>
2026-01-06run_tests/release: require Python 3.9+Mike Frysinger
While we support running `repo` on clients with older Python versions, we don't need to hold the runners & release code back. These are only used by repo devs on their systems to develop & release repo. Python 3.9 was picked due to its typing changs which we've already started using in this code. Change-Id: I6f8885c84298760514c25abeb1fccb0338947bf4 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/539801 Commit-Queue: Mike Frysinger <vapier@google.com> Reviewed-by: Gavin Mak <gavinmak@google.com> Tested-by: Mike Frysinger <vapier@google.com>
2026-01-06check-metadata: skip files that do not existMike Frysinger
If the files don't exist, then they can't have errors, so skip checking. Change-Id: I3ed4be4912b253c5454df41d690cb33dfe191289 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/540003 Reviewed-by: Gavin Mak <gavinmak@google.com> Tested-by: Mike Frysinger <vapier@google.com> Commit-Queue: Mike Frysinger <vapier@google.com>
2025-08-21run_tests: add file header checker for licensing blocksMike Frysinger
Change-Id: Ic0bfa3b03e2ba46d565a5bc2c1b7a7463b7dca2c Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/500103 Commit-Queue: Mike Frysinger <vapier@google.com> Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Scott Lee <ddoman@google.com>
2025-04-28update-manpages: include in unittestsMike Frysinger
People often forget to regen when making interface changes. We skip the test if help2man isn't installed since it's not common, and it's not available on our CI bots currently. Change-Id: Ib4911a0e3fa1294ad90e4ac8afc047a0b7c2b66d Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/469741 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Gavin Mak <gavinmak@google.com> Commit-Queue: Mike Frysinger <vapier@google.com>
2025-04-10launcher: switch command quoting to shlex.quoteMike Frysinger
Minor fix, but just in case, provides properly quoted commands for people to copy & paste. Change-Id: Ia9fce5c0df9f51cbed9d49861adcf6821251e46f Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/466821 Tested-by: Mike Frysinger <vapier@google.com> Commit-Queue: Mike Frysinger <vapier@google.com> Reviewed-by: Gavin Mak <gavinmak@google.com>
2024-04-23release: update-hooks: helper for automatically syncing hooksMike Frysinger
These hooks are maintained in other projects. Add a script to automate their import so people don't send us changes directly, and we can try to steer them to the correct place. Change-Id: Iac0bdb3aae84dda43a1600e73107555b513ce82b Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/422177 Commit-Queue: Mike Frysinger <vapier@google.com> Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Josip Sokcevic <sokcevic@google.com>
2023-08-22isort: format codebasev2.36Mike Frysinger
Change-Id: I6f11d123b68fd077f558d3c21349c55c5f251019 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/383715 Reviewed-by: Gavin Mak <gavinmak@google.com> Tested-by: Mike Frysinger <vapier@google.com> Commit-Queue: Mike Frysinger <vapier@google.com>
2023-08-22tweak stdlib imports to follow Google style guideMike Frysinger
Google Python style guide says to import modules. Clean up all our stdlib imports. Leave the repo ones alone for now as that's a much bigger shave. Change-Id: Ida42fc2ae78b86e6b7a6cbc98f94ca04b295f8cc Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/383714 Reviewed-by: Gavin Mak <gavinmak@google.com> Commit-Queue: Mike Frysinger <vapier@google.com> Tested-by: Mike Frysinger <vapier@google.com>
2023-03-22Format codebase with black and check formatting in CQGavin Mak
Apply rules set by https://gerrit-review.googlesource.com/c/git-repo/+/362954/ across the codebase and fix any lingering errors caught by flake8. Also check black formatting in run_tests (and CQ). Bug: b/267675342 Change-Id: I972d77649dac351150dcfeb1cd1ad0ea2efc1956 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/363474 Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Gavin Mak <gavinmak@google.com> Commit-Queue: Gavin Mak <gavinmak@google.com>
2022-12-13update_manpages.py: treat regex as raw stringDaniel Kutik
Treat the values in the regex map as raw strings to fix Invalid escape sequence 'g' (W605). Change-Id: I53bf5d6bd1e1d6a1d1293e4f55640b6513bf3075 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/354698 Tested-by: Daniel Kutik <daniel.kutik@lavawerk.com> Reviewed-by: Mike Frysinger <vapier@google.com>
2022-12-12update-manpages: clean up symlink in checkoutMike Frysinger
We don't want symlinks in the git tree as it causes pain for Windows users. We also don't really need it as we can refactor the code we want to import slightly. Change-Id: I4537c07c50ee9449e9f53e0f132a386e8ffe16ec Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/354356 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: LaMont Jones <lamontjones@google.com>
2022-11-14update-manpages: explicitly strip color codesLaMont Jones
On some systems, help2man produces color codes in the output. Remove them to avoid manpage churn. Also begin adding unit tests. Change-Id: I3f0204b19d9cae524d3cb5fcfb61ee309b0931fc Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/349655 Tested-by: LaMont Jones <lamontjones@google.com> Reviewed-by: Xin Li <delphij@google.com>
2022-09-12update-manpages: force use of active interpMike Frysinger
Since the repo wrapper uses #!/usr/bin/python, use the python3 that this wrapper is actively using. Change-Id: I03d1e54418d18a504eec628e549b4cc233621c45 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/345294 Reviewed-by: LaMont Jones <lamontjones@google.com> Tested-by: Mike Frysinger <vapier@google.com>
2021-10-06sign-launcher: make the help text more automaticMike Frysinger
Rather than display "3.0" all the time and confuse people, extract the version from the launcher we're signing and display that. Also reformat the text to follow our current practice: upload the versioned launcher by itself first, and then later copy that over the default. And while we're here, add tips for rollbacks. Change-Id: I1654425c88e5c67d78879f2f33ad685c59be14dc Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/319637 Reviewed-by: Xin Li <delphij@google.com> Tested-by: Mike Frysinger <vapier@google.com>
2021-09-22update-manpages: avoid regen just for datestamp updateMike Frysinger
To avoid noise due to the passage of time, don't regenerate man pages if the only thing different is the datestamp in the header. Change-Id: Ic8d7b08d12e59c66994c0cc2d4ec2d2ed3eb6e6d Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/318575 Reviewed-by: Jack Neus <jackneus@google.com> Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Mike Frysinger <vapier@google.com>
2021-07-31man: make output system independentMike Frysinger
The current help output might change based on the number of CPU cores available (since it reflects the dynamic --jobs logic). This is good for users running repo locally, but not good for shipping static man pages. Hook the help output to have it generate the same output all the time. Change-Id: I3098ceddc0ad914b0b8e3b25d660b5a264cb41ee Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/312882 Reviewed-by: Roger Shimizu <rosh@debian.org> Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Mike Frysinger <vapier@google.com>
2021-07-28repo: refactor help output handlingMike Frysinger
Currently we have the behavior: * `repo`: Equivalent to `repo help` -- only shows common subcommands (with short description), and then exits 0. * `repo --help`: Shows repo's core options, lists all commands (no specific info), and then exits 0. The first case is not behaving well: * If you run `repo` without a specific subcommand, that's an error, so we should be exiting 1 instead. * Showing only subcommands and no actual option summary makes it seem like repo itself doesn't take any options. This confuses users. Let's rework things a bit. Now we have the behavior: * `repo`: Shows repo's core options, lists all commands (no specific info), and then exits 1. * `repo --help`: Shows repo's core options, shows common subcommands (with short description), and then exits 0. * `repo --help-all`: Shows repo's core options, shows all subcommands (with short description), and then exits 0. Basically we swap the behavior of `repo` and `repo --help`, and fix the exit status when the subcommand is missing. The addition of --help-all is mostly for the man pages. We were relying on `repo help --all` to generate the repo(1) man page, but that too omitted the core repo options. Now the man page includes all the core repo options and provides a summary of all commands. Change-Id: I1f99b99d5b8af2591f96a078d0647a3d76d6b0fc Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/312908 Reviewed-by: Xin Li <delphij@google.com> Tested-by: Mike Frysinger <vapier@google.com>
2021-07-16Add script 'release/update-manpages' to generate manpagesRoger Shimizu
Debian package started to ship manpages for repo since 2.8 [1] And it's about for one year. So I think it should be upstreamed. The script depends on help2man, which is available in both debian [2] and ubuntu [3]. [1] https://tracker.debian.org/news/1150858/accepted-repo-28-1-source-into-unstable [2] https://tracker.debian.org/pkg/help2man [3] https://launchpad.net/ubuntu/+source/help2man Change-Id: Ide2b356d0944ebde34cc96c6d5a782655bd72288 Signed-off-by: Roger Shimizu <rosh@debian.org> Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/309782 Reviewed-by: Mike Frysinger <vapier@google.com>
2020-07-23release-process: document schedule (including freezes) publiclyMike Frysinger
Change-Id: Ic037b54630017740d7859292b32b8c57f4af7854 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/274772 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Jonathan Nieder <jrn@google.com>
2020-02-29release: add tips for when to push prod changesMike Frysinger
Change-Id: Iabfdd322acbc60ee16e5222ecdb261cd3a3c2cf9 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/257332 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
2020-02-21release: import some helper scripts for managing official releasesMike Frysinger
Change-Id: I9abebfef5ad19f6a637bc3b12effea9dd6d0269d Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256234 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>