Heya @Dickels112! Main disclaimer: we’re creatively borrowing git
terminology, so some things might not add up! The link below should help establish these concepts a bit better:
You can see commits as encapsulated snapshots of your data. In git, as well, when you checkout a given commit, you’re instantiating the state of that repo at that given time. Commits are grouped in branches as a way to keep track of them in logically. You never have the “whole branch” active at one time, just a given commit from it.
Getting into your head a bit more, I think I’ve figured out what’s happening - this is just a presumption, so feel free to counter
Let’s say you send 100 elements from revit to speckle (you create a commit). You modify several of them, and you want to update.
I suspect you’re sending just the modified ones; you should send the whole set again! Speckle is doing diffing in the background for you, so basically only the 20 new elements get sent over the wire.