Forum

Vvvv + .git multi user problem: how can I avoid overwriting patches?

Hello folks,

we are collaborating on a vvvv-project using git as version control.

The team consists of two groups, one working on the core, one on the visuals.
What’s the most elegant way of making sure no one interferes with each others work?

Or, how can I write-protect single files, so moving around render windows wont prompt for a save of the patch containing the renderer.

Any suggestions are welcome!

Moco

hei moco,

i am afraid git won’t help you with your communication. teammembers will still have to talk to each other and agree on who is working on what.

two tips:

  • when committing have a look at the changes of each patch. from the xml it is quite easy to spot if a only a window was moved. then just reset those files instead of committing them.
  • if you already distinguish between core and visuals then define which of the patches belong to which part. and team visuals can just never commit a patch of team core and vice-versa

comunication is key,
define basic input-output-pins between your teams,
using send+receive nodes between different teams avoids changes in the parent patch
while creating visuals and core - every team can use his own renderer subpatch, later decide for one and delete the other…

We create a master branch and one branch for each dev.

The team leader is in charge of the master branch (as well as their own branch) and is the only person to update the master (often with the help of the other devs).

In vvvv to keep things tidy, each dev has their own subpatch on the root patch. The devs also have their own subfolder.

To merge the devs branches with the master branch the team leader needs to manually copy and paste the folders from each branch into the master.*

Each developer then copies the master to their own branch (or makes a new branch) and the process repeats.

For large assets that need to be ignored we use cloud storage (Google Drive in our case). A folder is created for each branch, so there is Master, Dev1, Dev2, etc. This means that all the team have access to all the ignored files.

  • Sadly no visual version control exists because Apple own the patent from Quartz and are not doing anything with it.