Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Versions and Branching

christopher_owenschristopher_owens Member Posts: 235 ✭✭
Hello! I didn't see a dedicated discussion to this subject! Of course I am going to try some "what ifs?" using Versions and Branches. I am curious if someone has ultimate control over what gets Merged into a Project. Also what if one designer creates a feature using another feature, while a different designer deletes/modifies that used feature. What happens when either designer does a Merge?? Of course training, communication and collaboration is critical, but the software does what the software is told! (Would people just start "overwriting" each other? Hence the need for Versions and History!)


  • christopher_owenschristopher_owens Member Posts: 235 ✭✭
    I notice Compare is not supported for Assemblies.
  • Narayan_KNarayan_K Member Posts: 379 ✭✭✭
    edited August 2015
    christopher_owens, merging and branching works good.If "branch-1" and "branch-2" are created from "version-1".if i modify already created feature in branch-1 and branch-2 then i merge branch-1 to main after that branch-2 to main.In this case main work space features are updated as per branch-2(latest merge branch).

    If i create some features in branch-1 then merged to main and again if i create same feature (with different value) in branch-2 and merged into main.In this case features created in branch-1 updated first and then that features are modified as per branch-2(latest merged branch).

    If i created different features in both branches and merging it to main then features created in both branches are added to main work space.

  • Narayan_KNarayan_K Member Posts: 379 ✭✭✭
    I think compare is used to compare part features and parts.

    Is there anything to compare in assembly..? motions ..? 
  • shashank_aaryashashank_aarya Member Posts: 265 ✭✭✭
    @christopher_owens branching and merging works as per the history sequence of features. Suppose you have created one feature in main and next feature in immediately branched workspace from latest saved version, sequence will be accordingly. So, after merging from branched workspace to main, you will definitely notice the change in main workspace. But main to branch merging will not have any change in document. Only one history line will appear as "Merge from workspace" History also includes deleting the tabs. When you delete any tab in branched workspace, after merging to main same tab will be deleted from main also. So, in that way one should be always careful while deleting tab. However we can recover it from history at any point of time.
  • traveler_hauptmantraveler_hauptman Member, OS Professional, Mentor, Developers Posts: 419 PRO
    Onshape does not have version conflict resolution yet so the merge feature is not really a merge. It's a 'take all changes from that branch onto this branch' operation.

    The fact that they have rolled out a diff viewer indicates they are making progress towards being able to do conflict resolution. So that's promising.

    But meanwhile merge is a booby trap that they really should document properly in their help to make it less so...

    There's been a few past discussions on this stuff. Here's one:

  • andrew_troupandrew_troup Member, Mentor Posts: 1,584 ✭✭✭✭
    The rationale for the way merge currently works is laid out here:
  • traveler_hauptmantraveler_hauptman Member, OS Professional, Mentor, Developers Posts: 419 PRO
    @andrew_troup Thanks for the link. I had missed that article.

    @ilya_baran You guys plan on implementing merge conflict resolution right? I'm happy to send you a copy of git that implements only Onshapes version of merge for you and your team to use in your day to day development while you guys are thinking about it.... maybe it will motivate you? ;)

    This is one of those things that you don't need often but when you do life is utterly miserable if you don't have it.
  • ilya_baranilya_baran Onshape Employees, Developers, HDM Posts: 981
    @traveler_hauptman We have been talking about it, but it's not quite a plan yet.  And I meant to get back to you on the dependency analysis -- your example really nailed home the point of the need for understanding what controls what.  We're certainly motivated enough, but we can't (yet) work on everything at once :smile:.   We are making some great progress however -- the functionality we release in the next couple of updates should really increase the modeling power of Onshape and I'm excited to see what you guys do with it.
    Ilya Baran \ Director, Architecture and FeatureScript \ Onshape Inc
  • 3dcad3dcad Member, OS Professional, Mentor Posts: 2,442 PRO
    We are making some great progress however -- the functionality we release in the next couple of updates should really increase the modeling power of Onshape and I'm excited to see what you guys do with it.
    You caught my attention!
  • traveler_hauptmantraveler_hauptman Member, OS Professional, Mentor, Developers Posts: 419 PRO
    @ilya_baran Cool. I hear you about not being able to work on everything at once.

  • christopher_owenschristopher_owens Member Posts: 235 ✭✭
    @traveler_hauptman  @3dcad @ilya_baran @andrew_troup @shashank_aarya @Narayan_K (did I miss anyone? "Reply All"!) Thanks for all the input and information! Again, back to my Caterpillar experience with Pro/E and "data manager du jour"! At first we all had just our own "work directories" which were wide open to read and write! Learned the hard way about parametrics! After that there was Pro/PDM, MetaPhase and TeamCenter. All with "Check-Out/Check-In" controls so you could only overwrite your own files on the database. Of course, while the frame team had their frame "checked-out" making changes, I was routing wiring harnesses on an "old version". Email: "We've checked-in the latest and greatest frame". Pull up the new frame and reroute around new gussets, removed access holes and such. But much better than doing that "in the iron"! Seems that each Onshape designer would have "design control" over a certain part/system. ... ... I'll just have to get experience with this!  Thanks!
  • christopher_owenschristopher_owens Member Posts: 235 ✭✭
    edited August 2015
    I see even though a Version is Read Only for Features, you can still Export an individual Part to an STL from the Parts list. Tabs do not have an Export. 

    I see you can Copy the Read Only Version Workspace to a new document. I assume that becomes an active Workspace??

    OK after making one of my 5 Documents Inactive, I was able to Copy the Read Only Version Workspace to a new Document, and it is now Active and I am able to modify it.
  • romeo_grahamromeo_graham OS Professional Posts: 9
    Exporting STL from a Version is not working for me:

    I have a version (01A) saved of a document, and would like to print the versioned part on our FDM machine. however, I can't see a way to export an STL (or any other file) from the "Read Only" version 01A of the part.

    I had to create a new workspace from that version to export.

    This doesn't make sense at all to me: If I release a Version of my document to a client or supplier, I need them to be able to export various formats from that read only version. Otherwise, it is useless as a document sharing mechanism. I will try creating the exports before creating the version, and see if they can be downloaded from there.


    I can't even download an exported XT file that is saved in a tab.

    How are we supposed to treat Versions as usable file repositories or archives?

    For me, I see the potential workflow to be:
    -work on a workspace
    -save a Version (01A)
    -share the document (or, preferably, just 01A) with client with instructions: "you can download STEP or IGES from workspace 01A")
    -I continue to work in the new "Main" workspace, incorporating feedback / changes from suppliers and clients

    Currently, however, I don't see a way to export / download from a View Only Version of the document.

  • navnav Member Posts: 258 ✭✭✭✭
    Just haven`t played a lot with branching and versioning, but I think @romeo_graham has got a point, I know versions are snapshots in time of how a current design is and I can create branches to create variations of that version without modifying the original one, but in order for a supplier or customer to download a file from my documents (if required) as mentioned by Romeo I have to give them Edit capabilities and my customer/supplier could accidentally alter/damage the model.  I believe it would be good to allow to download (Export) in the view mode.
    Nicolas Ariza V.
    Indaer -- Aircraft Lifecycle Solutions
Sign In or Register to comment.