Collaborating with jj over Git? #43
-
I'm trying to understand the expected workflow for users that are using
I couldn't really figure it out so I started poking at Is it expected to be able to have |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 2 replies
-
First of all, thanks for trying it and providing feedback!
There is very little functional difference. The native backend is currently very naive and slow. I use the git backend not only because I need to so I can push to this repo here on GitHub, but because also because it's just a much better backend so far, mostly thanks to the packfile format. The only real drawback is issue #27, but the workaround is trivial (just try the failed command again -- there's no risk of corruption or anything) and I rarely run into it anyway. In the longer term, I hope that the clearer transactional semantics will make it possible for a native jj backend to do things that are hard to do with the git backend. For example, I hope it should be possible to create a packfile-equivalent per operation and never have loose objects. I believe Git has some tricks for doing that specifically on fetch.
Good question! The commits are already in the git object store, but you currently have to manually update the branches in the underlying git repo. If you created the jj repo from an external git repo via There's already
|
Beta Was this translation helpful? Give feedback.
-
By the way, the Git comparison has a table of commands that may be useful (though it doesn't answer the questions you had here). |
Beta Was this translation helpful? Give feedback.
-
Definitely not necessary, this comment mostly clears up my questions. I had one more question fall out of this, but answered experimentally -- how does this all work with git pointers, GC, etc? And it seems the answer really lies in 1.I created Interestingly:
This really helped me understand the full answer to how collaboration takes place. I couldn't understand how you were pushing loose commits around, but now I see that If I got something wrong or there's important callouts here I'm happy to hear them. Otherwise I'm probably "unblocked" to keep tinkering. Thanks for the detailed answers and working on this! |
Beta Was this translation helpful? Give feedback.
-
The answer to the question about GC specifically is that whenever
Correct, but there would have been a
Yes.
Yes, exactly. The idea is that
See above :)
No problem. Thanks for tinkering with it, and let me know if anything's still unclear. |
Beta Was this translation helpful? Give feedback.
-
I have been thinking about what would make it easier for users to adopt I think it would be really nice if one could use I think it should be possible to have a mode where I'll probably prioritize working on that idea next, switching away from working on support for multiple working copies (#13). |
Beta Was this translation helpful? Give feedback.
First of all, thanks for trying it and providing feedback!
There is very little functional difference. The native backend is currently very naive and slow. I use the git backend not only because I need to so I can push to this repo here on GitHub, but because also because it's just a much better backend so far, mostly thanks to the packfile format. The only real drawback is issue #27, but the workaround is trivial (just try the failed command again -- there's no risk of corruption or anything) and I rarely run into it anyway.
In the longer term, I h…