At the 2016 CLA Summit, I presented on Branching Workflows for Team Development. After spending some time adjusting the image and filtering out the noise, I’ve make it available to the general LabVIEW audience as the topic of branching workflows is relevant to developers of any level and not only architects.
The 2016 CLA Summit had many excellent sessions. I hope more of them are made available. Thanks to Mark Balla for the A/V!
There was one part that I forgot to cover which is GitFlow with Perforce. This is entirely possible with the use of Perforce Streams. Introduced in 2011, streams allow for friction-less context switching so you can easily transition between branches among other features. However, the downside was that you always had to create streams at the root level.
However, with version 2015.2, Perforce took this to the level where you can now create streams at a deeper level. This means that you can have a single depot for your application and its components with branches for each of those components. Git on the other hand, requires each of your components of your application to be in separate repository of their own. To link them, you’ll need to use Git Submodule to add another project as a subdirectory in your repository.
Both of these approaches are equally powerful and allows for all kinds of branching models – GitFlow or other.