Remix.run Logo
paradox460 4 days ago

Do you really need watchman for that, when each changesets has an evolog with snapshots

lowboy 4 days ago | parent | next [-]

by default, snapshots only get created on (most) `jj` invocations

the watchman integration runs snapshots on filesystem changes[0], so every time a tracked file changes on disk, a new commit is added to the evolog regardless of `jj` invocations

so say if you ran `jj status`, then changed a tracked file 3 times, and then ran `jj status` again:

without watchman you'd have 2 new evolog entries, resulting from the two `jj status` calls

with watchman you'd have 5 new evolog entries: one from `jj status`, 3 from file changes, and one from the second `jj status`

0: https://jj-vcs.github.io/jj/latest/config/#watchman

paradox460 4 days ago | parent [-]

Oh I misunderstood and thought watchman was something like fswatch or entry. Neat!

nchmy 4 days ago | parent [-]

It is. Jj uses it to watch your repos for changes and trigger commits.

paradox460 3 days ago | parent [-]

Yeah I see that its a built-in feature now. Useful

nchmy 4 days ago | parent | prev [-]

What if you do a bunch of work and dont touch jj? None of that work shows up in the evolog. using watchman also apparently makes jj more performant on large repos.

But, again, watchman was explicitly said to be out of scope for this discussion... Do you have any thoughts about jj, or what I said about it?