jj/cli
Austin Seipp 35ad063b85
Some checks are pending
binaries / Build binary artifacts (push) Waiting to run
website / prerelease-docs-build-deploy (ubuntu-24.04) (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
cli: basic jj gerrit upload implementation
This implements the most basic workflow for submitting changes to Gerrit,
through a verb called 'upload'. This verb is chosen to match the gerrit
documentation (https://gerrit-documentation.storage.googleapis.com/Documentation/3.12.1/user-upload.html).

Given a list of revsets (specified by multiple `-r` options), this will parse
the footers of every commit, collect them, insert a `Change-Id` based off the jj change-id (if one doesn't already exist), and then push them into the given remote.
It will then abandon the transaction, thus ensuring that gerrit change-IDs do not appear in jj.

Because the argument is a revset, you may submit entire trees of changes at
once, including multiple trees of independent changes, e.g.

    jj gerrit upload -r foo:: -r baz::

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2025-09-16 02:15:09 +00:00
..
examples cli, lib: convert revset expressions to use Arc over Rc 2025-09-05 16:09:44 +00:00
src cli: basic jj gerrit upload implementation 2025-09-16 02:15:09 +00:00
testing cli: add jj bisect run command 2025-09-04 14:30:52 +00:00
tests cli: basic jj gerrit upload implementation 2025-09-16 02:15:09 +00:00
build.rs build.rs: separate commit ids if compiling at a merge commit 2025-07-08 02:38:21 +00:00
Cargo.toml cli: add jj bisect run command 2025-09-04 14:30:52 +00:00
docs
LICENSE