top | item 46190898

(no title)

dubi_steinkek | 2 months ago

> there is no difference as jj is only a frontend to git.

That's not really true in this case, as the worktree feature from jujutsu is not implemented on top of git worktrees.

discuss

order

Macha|2 months ago

This is kind of unfortunate in this case as it breaks some tooling since the extra trees are not collocated with git, like editor inline history/blame or agents that know to look in git history to fix their mistakes

steveklabnik|2 months ago

The fix for having worktrees be colocated is in progress. Not sure when it’ll be done but it’s coming.

gcr|2 months ago

isn’t it strictly better to use your editor’s JJ support and ask Claude to use jj?

(I personally think jj shouldn’t support collocated repositories, but happy to learn what others see in them…)

rk06|2 months ago

wtf? it can diverge from git?

wasn't git compatibility it's main pro?

aseipp|2 months ago

To be technical, it's more that it can read and write the on-disk Git format directly, like many other tools can.

I think the easiest way to conceptualize it is to think of Git and jj as being broken down into three broad "layers": data storage, algorithms, user interface. Jujutsu uses the same data storage format as Git -- but each of them have their own algorithms and user interface built atop that storage.

steveklabnik|2 months ago

Yes, jj is its own VCS with pluggable backends.

Google uses it with Piper, their centralized VCS.

Being compatible and being purely a frontend aren’t the same thing.

antonvs|2 months ago

No, that's just a practical approach to supporting migration to jj.

If we want to improve systems, we need to be able to migrate conveniently from older systems to better ones.

SatvikBeri|2 months ago

You can still use git worktrees in a colocated repository. jj workspaces are a different, but similar capability that provide some extra features, at the cost of some others.

xboxnolifes|2 months ago

git is the storage layer. JJ's commands do not have to, and never did, match git one-to-one.