We’ve tried managing rhino files within git. For smaller files this worked pretty ok, when working with large files - the git repository got huge, and it became more and more difficult to manage. It should be doable, but it was quite difficult to manage, and in the end we reverted to plain file management.
Also the lack of a diff and a merge made it to be quite difficult, but perhaps this can be created.Tools could be developed to compare different geometries.
Git supports different diff/merge tools for custom file formats:
Eg: A rhino diff command, that will show the differences between two files.
Or a Rhino Merge command: to merge three files: an original file, a file with changes for user A, and a file with changes for user B. This is not extremely trivial, but I can imagine a script comparing the state of different guids, and based on that move them to a different layer.
For geometry it should be doable, to include everything saved in a Rhino file can get quite heavy. (We gave up at the point where the git repo ended up being around 5gb; the committing and fetching changes became unbearably slow, and we reverted back to dropbox).
For managing the git process, usually git keeps a copy of all files, with rhino files it will probably mean you’ll keep a full copy of each commit. meaning that fetching your repository can take a while and becomes quite expensive, also committing becomes more expensive. This means that you’ll need some discipline to manage the repository: To not always checkout a full repository, to have a fast uplink to the a powerful server to manage the remote repository, and perhaps to learn how to do partial checkouts.
Perhaps it also requires some discipline to have people working to add meaningful commit messages, and to keep the