Git with odrive

Syncing a local git repo , if it works properly, it is so convenient.

Back up outside of GitHub, not needing to push and pull to/from a remote when switching computers, etc.

A quick browse through forums shows that various cloud services have different levels of performance with this. Some people encounter corruptions in repos, other people have issues with files that they would like synced ignored, etc. any insight on to how this might work through odrive, or if one cloud service in combination with or drive might work better or worse than another? Quick tests with odrive + google drive show no issues, but if there is something that you suspect might go wrong, I would love to hear about it before I commit!

Hi @alex.hakso,
Generally, I think the key to using odrive in this way is to ensure that everything is synced and locally cached before acting on the repo. This is going to require some diligence and process. If you end up in a situation where you still have placeholders in the repo structure, or a scenario where a conflict file is created (unsynced changes on an offline system that suddenly comes back online, for example), things are going to start going sideways pretty quick. I would probably recommend not adding .cloud/.cloudf to .gitignore so you have a better chance of knowing when you end up with a placeholder file sitting somewhere in the structure (something I think you should strive to never have in this type of a use case). I wrote a little bit about this in this thread too: ODrive Git Support

As far as storage goes, odrive will try to push the same thing up to all storage. We no longer blacklist any git files, so everything should be going up. The things that may get in the way of this are storage-side restrictions like illegal characters, disallowed extensions, file transformations (like scaling images), etc. Google Drive is pretty flexible, so it sounds like a good target to use.

In the aforementioned thread, I was hoping some folks could chime in on their own best practices. Specifically, I was hoping to hear from those who were requesting that we stop blacklisting git files, but there hasn’t been much feedback on that, so far, unfortunately. I would love to hear about your process if you decide to move forward.

Thank you for the response, Tony. I will try out the following:

  1. Keep my odrive syncing at all times
  2. Make sure that I have the repo directory set to “sync all” on every computer I am using to work with the git repo.
  3. Wait for syncs in the directory to complete before making additional changes

If I end up running into issues, I will be sure to report back.

1 Like

Following up on this.

Using git with odrive is generally working, certainly better than and committing/pushing just to switch computers twice a day. Issues are produced if there is a conflict file generated, and when I delete a file on one computer, but don’t empty the trash, so it still exists on the other computer. Since git tracks each file, it gets confused when there’s a mismatch.

I am always able to fix corrupted repos with some combination of logging into my other computer remotely to empty the trash, deleting conflict files and doing fresh pulls

1 Like