Rsync workflow instead of git remotes #7002
Replies: 1 comment 5 replies
-
I haven't tried this, I've only been intrigued by the model that allows this. So I will give some uninformed advice. There's a distinction between the VCS state and the working copy. There's no such thing as deleting a source file from the VCS state, that's all append-only. Well... ok, mostly append-only. But garbage collection is the only thing that should remove anything like a source file from the VCS state. As for the working copy, I'm not sure there's any use in syncing that over to the server? It should be updated by So I would probably try rsyncing only I would be tempted to do the rsync in two parts, first skipping the op heads, and then only doing the op heads. If the first rsync dies in the middle, you haven't really "committed the transaction"; you just have some extra unused stuff lying around. Again, this is based on my theoretical and very probably flawed understanding of the concurrency model. Hopefully someone knowledgeable can chime in. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
In the docu it is stated that it should be possible to use rsync to merge work from several computers on one central server. I have tried this out with a test repo and it seems to work well enough. But I am still unsure what the best command line flags for rsync would be. Does anyone with more experience have a good rsync command line that they could share?
I have used something like:
rsync -avpuz -e ssh my_repo/ rsync_storage:archive/my_repo/ --exclude="**/build" --exclude="**/.cache"
This would ensure that the .jj store is always only updated by adding to the database, like we would probably want. But in the case of deleting a source file from the repo, it would not be deleted on the remote, and this is probably not what we want?
I guess my workflow will work (probably with the
--delete
option) for syncing from a single computer. I can not overstate how freeing this workflow already is in comparison to working with git+github and also jj+git+github!Beta Was this translation helpful? Give feedback.
All reactions