[SOLVED] Branching Workflow Question

First of all a big thank you to the PC-Team to the amazing version control integration!
I have a bit of a special use case and wanted to ask if someone could give me a heads up concerning a good workflow:

I’m currently working on VR-Sandbox (Master-Branch) which handles basic vr-functionality: scene loading, vr-image-viewing, vr-video viewing. This sandbox uses our own branding and some test assets. At the same time I’m working on Client Versions (Client-Branch) of this Sandbox with client branding and assets.

The Client Version is currently a branch of the original sandbox. The development happens on the VR-Sandbox-Master branch. Is there a way to merge development stuff back into the client-Branch without loosing Client based Content (branding and assets specific to the client).
Or do I need a different workflow in the future (e.g. loading a kind of external config file which holds this client based data information)

As always thanks for your time!

There was this post recently on the topic:

1 Like

Thanks for the fast reply.
Assuming workflow 1 & 2 could apply to my projects as well, I have to follow up questions (sorry my git knowledge is quite limited).

  • As it is not possible to do partially merges (leaving out asset files for example) the master branch can not have any changes in files which are to be overwritten in the branch, I quess?
  • Is it possible to copy / paste files between 2 branches as well? As far as I know that’s quite difficult as you can have only 1 branch active at a time (but maybe switching branch between copy / paste?)
    Thanks again.

Unfortunately not. We do have plans to do git sub repo like functionality between projects (so you can have a framework project and a client project) but work hasn’t yet started on it

You will have to copy to another project, change branch on the original project and copy the files back but files don’t overwrite unfortunately.

Given your situation, it be like the thread linked by Martin.

All framework development is done on master or a branch of master. All client work is done on the client branches or branches of the client branches. All framework changes/updates go from master branch outwards.

Merging from the master → client wouldn’t affect changes/work done on the client branch unless they conflict with changes/work done on the master branch.

1 Like

Thanks for this in deep answer. I guess the proposed workflow is quite sufficient for my needs,
again it’s already quite amazing whats already possible in terms of version control. This really puts PC on eye level with unity or similar platforms.

1 Like