Was it evaluated how nice `gt` cooperates with `jj...
# how-do-i
v
Was it evaluated how nice
gt
cooperates with
jj
with colocated repository? Would be nice if
gt
could also support working on a
jj
repository conveniently even without it being colocated.
โœ… 1
p
(If applicable) To help us more clearly understand what you're trying to do, please provide additional details about: - Screenshots / debug logs / list of commands you've tried to run so far - Your workflow - Current state
v
No, it's not applicable ๐Ÿ™‚
p
Bjรถrn, thanks for raising this. We currently have a feature request ticket in place to support
jj
. If you hit concrete commands that misbehave in your setup, feel free to paste them and we can sanity-check expectations.
v
Thanks, I did not yet try to use gt with jj together. In a colocated repository it will probably work somehow as it is at the same time a Git repository. But in non-colocated repository or one that does not use the Git backend, dedicated jj support will be necessary.
๐Ÿ‘ 1
s
I'd doubt native jj support would be something they would consider, and that wouldn't work for GitHub today anyway.
Both can interoperate with git in colocated mode, so you can use them both. Not sure if it's gotten better, but commands like gt rebase/reorder/sync may all wipe the change IDs (that would be good to fix). I've been using jj for most of my development (including pushes and anonymous branches) and only gt track/submit when I need to open a formal stack to link the PRs automatically. The auto rebase of a stack in the cloud after a merge would also cause issues for me, so I usually rebase myself and so have to set my bookmark again to push over it. (Friction)
v
Thanks for your experience report.
and that wouldn't work for GitHub today anyway
Yeah, true, if not Git-backed. But if Git-backed but not colocated, or in a jj workspace which do not yet support colocation, native jj support might be necessary and work, and if it "just" is to get the git repo dir from jj to work with. While using native jj commands might work better from jj PoV.
โค๏ธ 1
s
I'm trying to remember how well graphite handles work trees even. I tend to use gt from the main repo. jj has tickets and plans for co located worktrees. idk if it would be separate from workspaces or not. Graphite is very much coupled with git though, and the fact that jj "native" has git under the hood today is a design detail. They have also talked about having their own custom built data store. I feel like they've not officially recommended assuming git is there internally ๐Ÿ˜†
v
Well, jj does already run without Git. Inside Google, there they have a distributed database as backing store or something like that. Currently for "normal" users like us the Git backend is the only production-ready one, yeah, but that might change over time. But of course then gt does not need to be compatible as long as it "only" supports GitHub ๐Ÿ˜„
๐Ÿ‘ 1