Add support for Jujutsu.
Review Request #14336 — Created Feb. 7, 2025 and updated
Jujutsu is a new version control system which is rapidly gaining
momentum. It works with Git remotes (and wraps Git internally for object
storage, at least for now). This change adds an RBTools client for
Jujutsu.Testing Done:
- Ran unit tests.
- Posted a variety of changes with various revision ranges.
- Posted changes that included binary files.
- Testedrbt stamp
with both the head and non-head changes.
- Testedrbt land
with both merge and squash modes, and--push
.
- Testedrbt patch
with a variety of changes, including both
per-commit and squash modes.
- Built docs and looked at the updated/added pages.
- Ran unit tests.
- Posted a variety of changes with various revision ranges.
- Posted changes that included binary files.
- Tested
rbt stamp
with both the head and non-head changes. - Tested
rbt land
with both merge and squash modes, and--push
. - Tested
rbt patch
with a variety of changes, including both
per-commit and squash modes. - Built docs and looked at the updated/added pages.
Summary | ID |
---|---|
7f1b92804e2c2d8950fa0c06c7436e9cb0bac4af |
Description | From | Last Updated |
---|---|---|
![]() |
||
too many blank lines (2) Column: 5 Error code: E303 |
![]() |
|
continuation line over-indented for visual indent Column: 30 Error code: E127 |
![]() |
|
continuation line over-indented for visual indent Column: 30 Error code: E127 |
![]() |
|
multiple spaces before operator Column: 13 Error code: E221 |
![]() |
|
line too long (89 > 79 characters) Column: 80 Error code: E501 |
![]() |
|
line too long (88 > 79 characters) Column: 80 Error code: E501 |
![]() |
|
line too long (86 > 79 characters) Column: 80 Error code: E501 |
![]() |
|
line too long (85 > 79 characters) Column: 80 Error code: E501 |
![]() |
|
whitespace after '{' Column: 36 Error code: E201 |
![]() |
|
whitespace before '}' Column: 62 Error code: E202 |
![]() |
|
whitespace before '}' Column: 62 Error code: E202 |
![]() |
|
whitespace after '{' Column: 36 Error code: E201 |
![]() |
|
whitespace after '{' Column: 36 Error code: E201 |
![]() |
|
whitespace before '}' Column: 45 Error code: E202 |
![]() |
|
whitespace after '{' Column: 36 Error code: E201 |
![]() |
|
whitespace before '}' Column: 45 Error code: E202 |
![]() |
|
line too long (80 > 79 characters) Column: 80 Error code: E501 |
![]() |
|
Would be good to say "You can create a personal configuration file (e.g. in :file:$HOME/.reviewboardrc) with the following ...) That … |
![]() |
|
Typo: thtrough |
![]() |
|
I think there's an extra : here? |
![]() |
|
This reads kinda weird, the "... working about branches ..." part. Might also benefit from splitting it up into two … |
![]() |
|
Does rbt land support the --push option with jujutsu? If so we should mention that here too. |
![]() |
|
I think its worth it to link to the per-user config page here https://www.reviewboard.org/docs/rbtools/latest/rbt/configuration/users/. You can use "personal configuration" as … |
![]() |
|
The type needs to be updated here as well (get rid of Optional) |
![]() |
|
This method doesn't seem to ever return None, we always return 1 if p is None. |
![]() |
|
You can consolidate this to return super()... |
![]() |
|
Missing the Raises section in the docstring. |
![]() |
|
Missing the Raises section in the docstring. |
![]() |
|
We should wrap this in a try/except and raise an SCMError if we encounter a RunProcessError, like we do with … |
![]() |
|
This docstring should have a Raises section for the possible rbtools.utils.process.RunProcessError |
![]() |
|
Add , optional |
![]() |
|
Missing a Raises section in the docstring. |
![]() |
|
Add , optional |
![]() |
|
This docstring should have a Raises section for the possible rbtools.utils.process.RunProcessError |
![]() |
|
Here too. |
![]() |
|
Here too. And its missing Args and Returns. |
![]() |
|
'sys.stdout' imported but unused Column: 1 Error code: F401 |
![]() |
- Commits:
-
Summary ID 0939f49a7c6d46d68eec8e02437c2d2016db6a24 750f6cc355529283ec08e12d500094f97cd0ea8d - Diff:
-
Revision 2 (+7038 -24)
Checks run (2 succeeded)
- Change Summary:
-
Wrap errors in
gettext
. - Commits:
-
Summary ID 750f6cc355529283ec08e12d500094f97cd0ea8d 2df63bf280cd6605bacb43054215af3dc50eaec7 - Diff:
-
Revision 3 (+7042 -24)
Checks run (2 succeeded)

-
Excited to try this out.
-
-
Would be good to say "You can create a personal configuration file (e.g. in :file:
$HOME/.reviewboardrc
) with the following ...)That helps if the reader is not familiar with our per-user config and they can easily find more info about it if needed. Especially for Windows users who don't have a home directory.
-
-
-
This reads kinda weird, the "... working about branches ..." part.
Might also benefit from splitting it up into two sentences: .. merge commits is ugly. When we're working ..."
-
-
-
-
-
-
We should wrap this in a try/except and raise an
SCMError
if we encounter aRunProcessError,
like we do with the other methods that userun_process
-
-
-
-
-
-
-
- Commits:
-
Summary ID 2df63bf280cd6605bacb43054215af3dc50eaec7 358ff590b72b5bcea498924763a89d337819161f - Diff:
-
Revision 4 (+7086 -24)
- Commits:
-
Summary ID 358ff590b72b5bcea498924763a89d337819161f f6f6e348a9cefd87be214b52ae2b276d28977c8c - Diff:
-
Revision 5 (+7084 -24)
Checks run (2 succeeded)
- Commits:
-
Summary ID f6f6e348a9cefd87be214b52ae2b276d28977c8c ea1649b88370704f8921bff176c8cfac444dce7c - Diff:
-
Revision 6 (+7086 -24)
Checks run (2 succeeded)
- Change Summary:
-
Link to the new top-level reviewboardrc section for "personal configuration file"
- Commits:
-
Summary ID ea1649b88370704f8921bff176c8cfac444dce7c 7f1b92804e2c2d8950fa0c06c7436e9cb0bac4af - Diff:
-
Revision 7 (+7082 -24)