Comment by wakamoleguy

4 months ago

I have been trying to use jj for a couple months now, but hitting some friction with my company’s GitHub PR workflow. Specifically, after the PR is merged, the next time I fetch I always end up with a ton of conflicts. It gets hard to clean them up, so I often end up abandoning all mutable commits to start fresh.

I feel like I’m doing something wrong, as I haven’t seen this mentioned in any tutorials, but I don’t know what! :-/

That's really odd, maybe the tree is somehow messed up? I've never had this problem. What's conflicting?

Can you try it on a fresh clone and see if it still happens?

  • Maybe it’s based on whether the GitHub merge is a squash, rebase, or plain merge? Or do folks usually manually perform the merge with jj?

Are you making MRs from other branches in the same repo, or are you making e.g. main to main MRs from your own fork?

  • I build a few diffs off of my local main, create and push a bookmark, and then create a PR back to main from that bookmark.

I’ve been using jj for a few months now and still love its workflow, but I keep running into the same problem you mentioned. The advantages of jj far outweigh this issue, so I’d really like to figure out a clean way to avoid these conflicts.

  • What does git think of the tree after you pull? Does everything seem fine to git, but jj shows a conflict?