Added
- JJ config settings can now be overridden for GG only by prefixing a setting with
gg.. For example, if you have...
...then revisions created by GG will be authored by "GG Author" instead of "JJ Author".user.name = "JJ Author" gg.user.name = "GG Author" - If
ui.diff-formatteris set to a non-builtin tool, an "open in diff tool" button will appear for each file in the changelist. If you don't want this, or want to use different external tool than you use with jj-cli, setgg.ui.diff-formatter- an empty string will disable external diffing. - If
ui.merge-editoris set, or both merge-editor and diff-formatter are set, conflicted files will have an "resolve with merge tool" button instead. Sample config for a less cluttered change list:[ui] diff-formatter = "bc3" merge-editor = "bc3" [gg.ui] diff-formatter="" # overrides ui.diff-formatter, removing the difftool button but not the mergetool button - Describing a revision with "reset author" now checks that
user.nameanduser.emailare configured, and shows an error if not. - Tags now have an icon.
- Revisions which are the working copy of another workspace are displayed with a yellow dot. The workspace's name is displayed alongside bookmarks and tags.
- The gg-cli crate, despite its name, can now be used as a library. There's just enough of an API surface to embed your own version of
gg web, or you can build on its lower-level WorkerSession. Web mode has two new endpoints,/log[?revset=]and/revision?revset, which may be useful for embedding.
Changed
[gg.revsets]has been renamed to[gg.presets]. Sorry about the churn, but the earlier name was a mistake - it clashes with jj's[revsets]config table.- Button and context menu colours are slightly less theme-respecting for a more consistent experience.
Fixed
- Pushes were silently rejected when branches had moved or been locked down; now an error is displayed.
- Reverting from the GUI-mode context menu was broken.
- Dragging a revision onto a parent edge no longer drops other parents when the rebased child is a merge commit.
- Drag-and-drop onto the vertical segments of curved graph lines now works correctly. Previously only the horizontal part of a curved line was a valid drop target.
- Scrollbar colours on MacOS weren't respecting dark theme.
- Scrollbars in the log pane were covering part of the log until the window was resized.