editor icon indicating copy to clipboard operation
editor copied to clipboard

Auto create / merge / destroy branches to improve collaboration

Open mvaligursky opened this issue 5 years ago • 2 comments

A big selling feature for using PlayCanvas is realtime collaboration - which assumes working in a shared branch. This gets difficult, especially for larger projects, as changes (to script, but also to scene ...) can break the branch for everybody while the work is in progress.

At the moment every change a user does in Editor is directly updated in server database. We could implement simple interface in Editor to change this behavior by adding a switch, allowing user to switch between 2 modes:

  1. Sync mode. As currently, every change would go to server.
  2. Isolated Mode. When user clicks on this, a branch would be silently created for the user, and all changes the user does would go to that branch, removing a risk of breaking main previous branch. When the user is happy with changes, the user would switch to Sync Mode again. At that point, a branch would be silently (unless conflict) integrated to previously active branch, and this temporary branch would be silently deleted.

It would probably be useful to Revert changes, which would delete this temporary branch without merging it to original branch.

This can already be done using branching, this is a proposal of simplified workflow.

mvaligursky avatar Mar 12 '20 17:03 mvaligursky

Hard reset and branch deletion is now supported (with some limitation)

yaustar avatar Aug 24 '21 15:08 yaustar

If branches would not be a full clone of a project (its assets especially) then this would be viable option. I believe this could be a good workflow shorthand on top of existing branching UI. Making it more accessible to user story described.

Maksims avatar Aug 25 '21 07:08 Maksims