8 Replies Latest reply on Dec 13, 2011 10:38 AM by David Lanning

    SWs with TortoiseSVN(control, procedures, check out/in,revision control)

    Neculai Mireuta



      Does anyone use Solid Works with TortoiseSVN (http://tortoisesvn.net/) to control projects, procedures for check out, check in, revision control? I would like to know your opinion about working in this way. Benefits, difficulties, etc.


        • Re: SWs with TortoiseSVN(control, procedures, check out/in,revision control)
          James Pepper



          I have strong negative opinions about Tortoise SVN. It is a tool for software developers. Using it for version control of other types of files, especially mechanical and electronic CAD files, is like saying you can adapt a hammer to function as a screwdriver.


          It can also get quite messy when things go wrong. It takes a very knowledgeable administrator to keep things organized.


          SolidWorks EPDM is a great tool for version control and document control, although it is not as user-friendly to the administrator as it should be. If setup correctly, it is quite friendly to the users.


          My experience is that knowledgeable SVN users can do what they want, regardless of document control procedures.


          As for check-in/check-out, unless you are an adminstrator or knowledeable user, SVN does not tell you the version/revision/status of a file, and the documentation (file cards, etc.) attached to checked-in files is limited to what you enter as a comment when you check in the file.


          Finally, getting rid of the local SVN folders and files is a can of worms.


          I could go on.



            • Re: SWs with TortoiseSVN(control, procedures, check out/in,revision control)
              Neculai Mireuta

              Thanks James,

              You have totally right, this is a tool for soft developers. The problem is, that I found this procedure in the company I am working for.


              I do not know very well SVN but, I lose a lot of time to perform simple tasks. Also, I have at least two big problems with:

              1. There is no way (I think so, because until now, I did not find one) to navigate with SWs through projects, to see/open parts, assy, drw;

              If you delete or rename files with SW Explorer, SVN will not like it, because the files on the server will not mach the local files. Vice versa, SW will ask you to find the missing files (if you rename files in SVN)


              What do you think ?

                • Re: SWs with TortoiseSVN(control, procedures, check out/in,revision control)
                  James Pepper



                  SVN and SW do not interact very well, as you say. Where I work, the mechanical guys put their SW files in a shared master folder. The electronics guys put their files in SVN. One reason is that SW is so touchy about file names and relationships. In my opinion, it's best to not use SVN at all with SW files.


                  As for viewing, a small help is to turn on "thumbnail" view in Windows. Most SW files create a small preview thumbnail. Of course that's nothing like EPDM's viewer.


                  As for renaming, my mechanical guys drop to floor and start foaming at the mouth if I even suggest moving or renaming a SW file. They are terrified of what it will do to their assemblies, and with good reason.


                  That's where EPDM shines (if the claims are true). It keeps all those links and relationships together when files are moved and renamed.


                  To summarize, I would either not do any version control at all or else use EPDM.



                    • Re: SWs with TortoiseSVN(control, procedures, check out/in,revision control)
                      Alessandro Tufi

                      I think SVN can be a good replacement to the network shared folders, because you can work locally without touch the network.


                      For all other things it's not a good solution; you can't have a good revision history, can't have a good items relationship management, and many others..


                      We have using it for about two years, and now we are buying EPDM because we need to:

                      - avoid all the svn problems

                      - increase our productivity

                      - "tied" someone of us who feels like an artist...


                      Note that EPDM can share data with the company ERP, so we can automate many other processes.

                        • Re: SWs with TortoiseSVN(control, procedures, check out/in,revision control)
                          Neculai Mireuta

                          Hello Alessandro,

                          I agree with you. Can you do the same thing (working locally) with PDM?


                            • Re: SWs with TortoiseSVN(control, procedures, check out/in,revision control)
                              Alessandro Tufi

                              I don't know.

                              Our supplier said "yes, you work locally" but I think he does not understand the problem.


                              Obviously you always work locally with E-PDM, because it let you download the files you need when you click on them. But if it has not a local "cache" it will always download files when you need them.. so, yes: you work locally.. but not like subversion, where you keep the entire repository locally, updating only the differences. Not so many people knows Subversion outside software environment.


                              I'm having some problems with pdm; it seems that many people use it, but nobody have installed it (or know some specific techcnical detail). For example I have not answer for dimensioning the server:



                              Our supplier didnt' know if prices were for a single vault or for a single database (with more vault), it takes some minutes to answer.. and I hope he will not change idea :-)

                                • Re: SWs with TortoiseSVN(control, procedures, check out/in,revision control)
                                  Jason Capriotti

                                  We briefly looked at storing our ecad PCB files in ePDM. The problem is as you mention, the files are not cached locally until you attempt to open them or manually "get" them and the PCB software had trouble with this if the files weren't cached.


                                  Possble solutions:

                                  1. We store each PCB in a folder on the network. Duplicating this in ePDM would allow for the users to perform a check out on the folder which checks out all files within. When done, perform a check in on the folder and only files that changed will get checked in. This of course requires some discipline on the user's part but I think its a fairly easy thing to remember considering that they have to check it out anyway. For someone opening the file just view them read-only might be a problem though as they would ahve to remember to "Get Latest" on the folder.
                                  2. Another option is to write an add-in that caches the folder and always insures you ahve the latest. I'd like to see this in the program as a user options for some folders and they already do it for Toolbox parts.


                                  Your supplier seems ill informed. The prices of ePDM is based on the license type you need (CAD, Contributor, Viewer, or PSL). There is always only one database but you can have as many vaults as you want.

                      • Re: SWs with TortoiseSVN(control, procedures, check out/in,revision control)
                        David Lanning

                        I work for a small company.  We have successfully used Subversion with SolidWorks for about three years.  It is not perfect but it is a vast improvement over sharing files from a folder on a network and it is free.  We have never lost any data and it solved our problem of version control.  If you want to do it, you need at least one person to become an expert and they need to train the users - this is critical.  Solutions to problems can be easily found via Google.  Most of our problems are user related. Deleting and renaming files is the hardest thing to learn, since these must be done through subversion and not via SolidWorks or Windows Explorer.  Changing the leTter CaSe of a filename will get you in trouble unless you do it through subversion rename.  Subversion is based in Linux with case sensitive filenames versus running on Windows which doesn't care.


                        You need to enable auto-props in the subversion config file on every desktop for SolidWorks file types and use the svn:needs-lock property.  This forces users to get a lock before modifying a file.  See subversion/TortoiseSVN documentation for specifics.


                        Since SolidWorks files are very large, we create a new repository each calendar year to keep them from getting too large.  We currently store about 300GB in Subversion.


                        You work on your local hard-drive when using subversion.  We created a repository for shared parts and then every user has a folder located at C:\workspace\eng_lib which is a copy of that library.  They just do a subversion update of this folder to grab the latest version of parts.  We limit the number of people that can update the library to a few to keep a review process over the parts.  When drawings are done, they use parts within this path which ensures that the design can be moved from machine-to-machine and still be reproducible. 


                        We use svn:externals to create designs using other designs which eliminates having multiple copies of the same designs.  Creating release versions is done using the subversion tags concept (check the documentation).


                        TortoiseSVN is a Windows shell extension interface to Subversion which works very well.  The shell extension in SolidWorks 2009 through 2012 (at minimum) causes problems with TortoiseSVN 1.7.x.  See this post for a work around: https://forum.solidworks.com/thread/48953.  TortoiseSVN 1.6.x does not have this problem and may be used with any version 1.6.x or 1.7.x repository.


                        We have a Subversion server and the users use TortoiseSVN or the subversion command line to check-in/check-out files.  If you have a Windows based server I would recommend the VisualSVN Server http://www.visualsvn.com/server/ which can be installed and updated in minutes.  VisualSVN Server is also able to use user credentials for authentication in a Windows Domain (if you have one), so users don't need to manage a different username and password for subversion versus Windows.  I am currently using VisualSVN server 2.5.2 (Subversion 1.7.2 base). 


                        If you have Linux servers use CollabNet subversion http://www.open.collab.net/downloads/subversion.html or WanDisco http://www.wandisco.com/subversion/download.


                        Last recommendation, the designated subversion guru should use subversion for a while to work out the process for your company before deployment.  Then train the users well and you'll be successful.


                        Hope this helps:)