| ▲ | jeremyjh 10 hours ago | |||||||||||||||||||||||||||||||||||||||||||
But this is not true. They are interoperable but far from seamless. Those features mainly support migration use cases or things like git deployment from an repo managed in jj. Operations git does are not in jj’s log. You have to constantly import them. The project recommends a single primary interface. | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | miyoji 10 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||
But it is true. I (and many others) happily use jj on teams that use git without anyone else on the team using jj or knowing (or caring) what I'm using. | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | ongy 10 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||
I think you are talking about colocation, which is slightly different than the `jj git push` `jj git fetch` type commands. Colocation has its uses bit is a bit finicky. The push/pull compatibility works perfectly fine (with some caveats of github being broken that can be worked around). | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | maleldil 10 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||
If you constantly switch between the two, you're going to have a hard time, but you can take a git repo, try jj for a while, and if you decide to go back, you don't lose anything. | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | asdfasgasdgasdg 10 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||
Most importantly, submodules are not fully supported, which are used by almost every open source project at least in the space I work in (embedded). So you can't use jj to easily contribute back to those project. It can be done but you always have to be cognizant of whether a submodule has changed between two branches or when you sync, since they don't update automatically the way they do with git. | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | saghm 9 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||
It's been over a year since I last used git manually in the CLI, and I've exclusively worked with git remotes. The only time I had any friction was on a team where stale code-gen output was checked into the repo and for whatever reason no one was willing to either add it to the `.gitignore` or commit (pun intended) to keeping it up to date, meaning that I had to manually remove the changes from when I compiled before pushing. I would have argued in favor of adding to .gitignore or keeping it up to date even if I didn't use `jj` though because I think having stale output checked in is just silly. | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||