Search Unity

Unity's version control component has been upgraded to Plastic SCM.

Branching and viewing older file content

Discussion in 'Unity Collaborate' started by Korindian, May 26, 2016.

  1. Korindian

    Korindian

    Joined:
    Jun 25, 2013
    Posts:
    584
    Hi, I've been using Collaborate with Beta17 without any problems. I'm about to upgrade to Beta19, but just wanted to say that after trying out Git, Mercurial, and PlasticSCM (which all have their advantages/disadvantages), it's nice to have a form of version control integrated in the editor, so thanks!

    I noticed on the Unity blog post a while ago that after some testing and feedback, branching would not be included. I was thinking about things like how branching can help with release versions, and trying to issue patches and fixes for those releases while working on new features. It would seem very helpful to also be able to bring those fixes in to a branch where new features are being worked on.

    With Collaborate, how do you envision being able to handle similar scenarios? I guess we could create a new repository for newer versions/features, but then we wouldn't be able to bring in the fixes on the release repository. I noticed there were other comments on the blog with concerns about this as well.

    Also, many times I find that I've been making changes to a particular script and then realize I want to view that same script in an older state to see what I had deleted. Unless I'm mistaken, with Collaborate it seems like I'd have to first commit all current changes, then restore an older commit to get the whole project as it was in that older state, then open the file to view the content at that time. In Git, with Sourcetree or GitKraken, you can easily see a file's history without having to checkout the whole project from a previous commit. Would you consider adding some sort of functionality like this?

    Thanks for your time.
     
    laurentlavigne likes this.
  2. quixotic

    quixotic

    Administrator

    Joined:
    Nov 7, 2013
    Posts:
    122
    Regarding branching: Right now we aren't offering a solution for those scenarios. It is something we're talking through and want to solve in the best way. (Part of our concern is branches add a ton of scope and, it's also very easy for users to get themselves in a bad state. We wanted to build the smallest scope thing for Collaborate, add features over time, to make sure we're super stable.)


    You can see the history of an individual file on the web dashboard: https://developer.cloud.unity3d.com/ that's something we might add into the editor. On the web we are working on preview, so you can see the changes of a script over time.
     
  3. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,792
    +1 for some form of branching. (I too find that keeping a release branch is generally useful).

    Also, I don't know about seeing history of individual files directly in the editor, but a right click -> View asset history that takes you directly to the file on the web dashboard would be very useful.
     
    d1favero and quixotic like this.
  4. kB11

    kB11

    Joined:
    Jan 24, 2016
    Posts:
    89
    I also agree that having some sort of branching is absolutely needed.
    Apart from having a release branch, our workflow often involves one of us changing certain parts of the code which temporarily breaks systems which other teammembers might need in a functional state while testing their work (e.g. while experimenting with ideas for level design).
    With Collaborate, the person working on the breaking changes could not push their code into the repository right now. Apart from not having any kind of online backup, this person can not collaborate with other teammembers on this code or access the code from a secondary device easily (e.g. I have a desktop machine and a Surface which I use when I am on the go).
     
  5. L4Z3RC47

    L4Z3RC47

    Joined:
    Jun 21, 2015
    Posts:
    46
    +1 for all the reasons above. My team is working with several different independent artists/collaborators so we don't want to grant them access to all of our code (or each others). For now we've created separate projects for each one where we import relevant shared scripts so they can work on their part of the project, collaborate until the scene is completed, and then manually merge the artist "branch" into the main project. This creates a lot of duplication and takes up extra space on the collab server. It would be great to combine branching with selective access (pie in the sky dreams). Any who, even regular branching would be great for working on unfinished features / complex code changes and bug fixes. We've also worked with (or tried to work with) perforce and that only caused headaches. So far collab has been great to work with, super easy for everyone on the team to understand, and more or less stable. I'm super excited to see how the features evolve as collab matures :)
     
  6. Tinovdk

    Tinovdk

    Joined:
    Nov 28, 2013
    Posts:
    83
    Voicing my support here for branching for the reasons voiced by kB11. I often work on several different machines and would like to be able to commit work in progress as a branch until it is stable to merge back into trunk. Keep up the good work! :)
     
  7. Green_Cafe

    Green_Cafe

    Joined:
    Dec 29, 2014
    Posts:
    8
    I very much agree that branching would be a good service to have. 1 person should not have access to the entire project. It would also help with building. I'd prefer to have a build branch and a development branch so certain changes that are very experimental or broken don't get accidently pushed into a build.
     
  8. JRSerjeant

    JRSerjeant

    Joined:
    Oct 24, 2016
    Posts:
    1
    Again adding support for branching for all the above reasons.

    The ability to branch in a version controller system is a core feature. Being able to test new features and break current ones while experimenting is priceless.

    Without branching Unity Collaborate is not a strong version control solution and shouldn't be moved out of beta with out it.
    Please add branching.
     
  9. Adamcbrz

    Adamcbrz

    Joined:
    Jul 13, 2011
    Posts:
    21
    I agree, Collaborate is not a usable feature without branching.
     
  10. L4Z3RC47

    L4Z3RC47

    Joined:
    Jun 21, 2015
    Posts:
    46
    Update from me: Still working with collab actively on several projects. Love what it has done for workflow so far. Still would love branching!

    Please!? :)
     
  11. senritsu

    senritsu

    Joined:
    Dec 12, 2012
    Posts:
    37
    +1 for branches, no matter how pared down in features. Absolute necessity for projects of any scale larger than hello world :)
     
  12. Ben-Howard

    Ben-Howard

    Joined:
    Jul 21, 2014
    Posts:
    23
    Hate to resurrect an old thread, but is there any update for branching in the Collab Pipeline? THANKS!
     
  13. Ryan-Unity

    Ryan-Unity

    Joined:
    Mar 23, 2016
    Posts:
    1,993
    Hi @Athalos! With regards to branches, they are a feature that we are actively working on! Check out here for our latest update on this feature! :)
     
    zeb33 and d1favero like this.
  14. anamta93

    anamta93

    Joined:
    Mar 21, 2014
    Posts:
    12
    How long it'll yet take to release branching ?