I’m working alongside several Autodesk Research colleagues on a really large Dynamo graph. We’re mostly working in separate instances of the .DYN file – and focusing on different areas of it, as far as possible – and merging the changes together has been a task of which I’ve taken ownership.
At the time of writing, Dynamo doesn’t have decent support for multi-user graph editing, nor is its data storage tuned for source control mechanisms such as Git. All of which makes identifying differences between graphs and merging updated areas to be quite challenging.
One basic problem that we’ve had to deal with is copying and pasting sets of nodes between graphs. You can’t just copy & paste between multiple graphs open in Dynamo Studio, but there is a way to do it: you can select the nodes that are to be copied across in the source graph, right-click the workspace and select Create Custom Node (we won’t be keeping the node, so it doesn’t really matter what metadata you tag it with) and then save the resultant .DYF somewhere.
After opening the target graph you can now insert the custom node, right-click it and select Edit Custom Node… At which point you can select the nodes you care about (pretty much all of them, with the likely exception of the inputs and outputs) and then copy them to the clipboard. After activating the target graph tab you can then paste the nodes at the desired location. Tada! Oh, and be sure to return to your source graph and undo the custom node creation, assuming you still care about keeping it intact.
I’ve gotten quite good at this particular activity: we typically try to keep things as merged as possible, given the risk of discrepencies creeping in between versions, so I’ve found myself doing this every day or two. We’ve had 5 developers working on this particular graph over the last couple of weeks, and we’re making solid progress. Hopefully it’s something that I’ll be able to share in some form via this blog, at some point. Here’s a quick peek, to give you some idea of what it looks like.
Thanks to Thomas Vogt for suggesting a simpler approach. It turns out that you can copy & paste between graphs, as long as they are opened in the same editor. I’d been working on graphs in multiple editors, and you can’t copy & paste between these. A simplified approach is therefore to copy the objects inside the source graph using Ctrl-C, close the graph and open the target graph in the same instance, and then Ctrl-V the nodes into it. Thanks, Thomas!