Search Unity

Good SVN - Native SVN Support in Unity on Mac/Windows

Discussion in 'Assets and Asset Store' started by tgraupmann, Feb 10, 2013.

  1. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    Now available in the Unity Asset Store:
    https://www.assetstore.unity3d.com/#/content/7242



    Good SVN adds SVN support to the Unity Editor. Good SVN is also cross-platform which works on PC and MAC.

    With a custom panel all your common SVN commands are one click away.

    This also makes it super easy to get SVN 1.7 support up and running on the Mac, without editing a bunch of terminal commands.

    If you'd like to know more, comment, share, like, and give us feedback!

    Users also get a 25% discount on CrossOver 12:
    http://www.codeweavers.com/products/#cxmac

    There is also a free CrossOver evaluation.


    This is how to setup the CrossOver Bottle on the Mac:
     
    Last edited: Mar 3, 2013
  2. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
  3. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    If you missed getting on the beta, no need to worry. Send me a message and I'll get you a free eval!
     
  4. Ro

    Ro

    Joined:
    Jan 9, 2010
    Posts:
    60
    How can you call this native on the Mac if you use Crossover?
     
  5. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828



    It's native as in a native plugin or native to being inside Unity as a Unity editor extension. I meant native as in local to Unity. Good point though, I'll change the title and change native to editor extension.

    Crossover alone won't give you the functionality that we provide in our tool.
     
    Last edited: Mar 3, 2013
  6. thecontrarian42

    thecontrarian42

    Joined:
    Apr 16, 2013
    Posts:
    3
    Can this be used with the free version of unity or does it only work with the pro version?
     
  7. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    Works on the free version of course!

    The Unity 4.X branch will eventually have built-in SVN support, but it's an extra $500 upgrade...
     
  8. thecontrarian42

    thecontrarian42

    Joined:
    Apr 16, 2013
    Posts:
    3
    ok cool because ive seen quite a few blog posts regarding how version control sucks with unity free because of the weird structure that unity uses and that without the meta files that the pro version offers it is a pain to manage. but this handles all of that for you?

    EDIT: it seems i was mistaken and in the most recent version of the free version there is the option for the meta file scheme unter edit -> project settings -> editor. i guess this means that version control is an option now.
     
    Last edited: Apr 21, 2013
  9. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    I had my part in the process to liberate meta files. Unity 3.3 added a process that on the free version it would delete the meta files if they were detected. I made a bug report that this was destructive. It was odd behaviour and such a change and should be limited to just stop creating meta files in the free version. 3.4 enabled meta for the free version. And 3.5 enabled Force text meta files for the PRO version.

    I recomment that if you are on the 3.X branch, use the latest 3.5.7. Turn on meta files. If you are PRO turn on meta files with force text. And then Good SVN is for you.

    If interest builds we will add support for more clients like versions, mecurial, beyond compare, and others....
     
  10. MythicalCity

    MythicalCity

    Joined:
    Feb 10, 2011
    Posts:
    420
    Hi, would this work with the Mac SVN client "Cornerstone"?
     
  11. Metron

    Metron

    Joined:
    Aug 24, 2009
    Posts:
    1,137
    Hi,

    usually within Visual Studio I can see which files have been modified, which have to be added to SVN etc. Is there some kind of icon or colored dot that will be shown aside the file name inside Unity? The screenshots don't make that clear.

    @capitalJmedia: First video says that it works with "Cornerstone"...
     
  12. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    If there's enough interest we plan on adding support for other clients like Cornerstone. For now it uses my personal favorite TortoiseSVN. I do have cornerstone and I have the ability to set it up. We can also change the icons to show the SVN status.
     
  13. Metron

    Metron

    Joined:
    Aug 24, 2009
    Posts:
    1,137
    @tgraupmann: So, is there currently any indication about the file status?
     
  14. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    I normally hit the status button to view it in the GUI popup or hit the commit button. I typically know what I've changed or I have a good idea. But we can use icons in the future. We currently didn't show any special icons yet...

    The sale is over in an hour......
     
  15. kork

    kork

    Joined:
    Jul 14, 2009
    Posts:
    280
    Hi, we're currently evaluating a switch from Unity's asset server which has proved to be less reliable than we'd like it to be to subversion. Does this plugin also work with the command line SVN client that comes with OSX or do we have to install CrossOver to make it work on Macs?
     
  16. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    Currently on the Mac side, CrossOver + TortoiseSVN is required until we add support for more clients. Adding more clients will depend on sales. And everyone that uses Good SVN gives us good feedback.
     
  17. kork

    kork

    Joined:
    Jul 14, 2009
    Posts:
    280
    Is there an API that could be used to extend support for more clients? I really don't want to install CrossOver+Tortoise when there is already a svn client coming with every Mac. So I wonder if I could extend support for this client myself? How much effort would I have to spend on it?
     
  18. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    The problem is that Mac comes with SVN 1.6 support. And with CrossOver and Tortoise you can add support for both SVN 1.6 and 1.7 at the same time. You can't even do that on Windows.

    You are talking about a significant effort because adding command-line svn support would require making new GUIs and hooks.

    It would cost more in time than getting CrossOver with our 25% off promotion.
     
  19. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
  20. kork

    kork

    Joined:
    Jul 14, 2009
    Posts:
    280
    $500 is a strong argument for your way of doing things ;). Does your extension work with Unity4 pro as well?
     
  21. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    Good SVN works on Unity 3.X and Unity 4.X free and PRO!
     
  22. sloopidoopi

    sloopidoopi

    Joined:
    Jan 2, 2010
    Posts:
    244
    Hi,
    I have trouble with my SVN setup and as I'm not a real SVN/SSL expert I hope somebody can push me in the right direction.
    I have a readyNAS system runnig a svn server. Until now I had no problems accessing my repositories with TortoiseSVN on my Windows machines. (I don't remember how I did the setup of the system, but when a TortoiseSVN client connects to the server the first time i get some warnings about some server certificates. Every repository is only accessible over https) Anyway, I have no problems to work with TortoiseSVN on my Windows computer, but now I try to do a Mac setup with Crossover,GoodSVN,and TortoiseSVN, but can't get a connection to my repositories. I have a running Crossover installation with a bottle containing TortoiseSVN. I can trigger TortoiseSVN from Unity but it can't establish a connection to my SVN-server. I always get 'certification validation failed' message.('certificate issued for a different hostname, issuer is not trusted')
    some hours google around didn't push me in the right direction. Do I have to install Putty and do some SSL/SSH configuration? Any hints are welcome!:confused:
     
  23. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    I don't use HTTPS on my own SVN servers. When I did secure SSH we used SSH keys which still worked with CrossOver with pageant.

    I haven't tested with HTTPS. Are you able to connect to your server with command-line SSH? Is there a firewall blocking your HTTPS traffic?

    You can use putty to create a profile specific to your READYNAS host.

    Your issue is between TortoiseSVN, the network, and your server, versus something specific to our plugin.
     
    Last edited: May 7, 2013
  24. sloopidoopi

    sloopidoopi

    Joined:
    Jan 2, 2010
    Posts:
    244
    I made a test with using http instead of https and now it seems to work ! :D Don't know why I always used https. (I should read some tutorials about all this SSL/SSH stuff, it always confuses me :confused: )
     
  25. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    Well if you use HTTPS you have to pay for certs and it's a pain to setup.
     
  26. JustGoodDesign

    JustGoodDesign

    Joined:
    Feb 10, 2013
    Posts:
    4
    @kork

    We could add an event hook to GoodSVN that passes the name of the event you're pressing from the GUI and a list of objects or directories you've selected. After that you'd be on your own to implement any tool of your choosing.

    Would that be something that interests you?
     
    Last edited: May 11, 2013
  27. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
  28. shwa

    shwa

    Joined:
    Apr 9, 2012
    Posts:
    461
    What is SVN?

    How is it useful for Unity projects?
     
  29. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    SVN is version control for your code and art assets. If you are not using version control it's like working the big top without a safety net.
     
  30. yahodahan

    yahodahan

    Joined:
    Apr 26, 2009
    Posts:
    1,380
    Just found and bought this. Working in a team, with an increasingly-complex project, there's simply no other option (other than gradual-then-sudden insanity). Many many thanks for creating this!
     
  31. code-blep

    code-blep

    Joined:
    Oct 1, 2010
    Posts:
    308
    Is this still being supported? No updates for a while. Just checking before I consider purchasing. Thanks!
     
  32. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    There's just no updates, because we haven't had any bug reports. It's solid. Go on and pick up a copy!
     
  33. JustGoodDesign

    JustGoodDesign

    Joined:
    Feb 10, 2013
    Posts:
    4
    You’re very welcome Yahodahan! We’re glad you enjoyed it.


    If you wouldn’t mind having your team rate and/or posting that comment on the Good SVN page we would be extremely grateful.


    Thanks again!
     
    Last edited: Jan 18, 2014
  34. JustGoodDesign

    JustGoodDesign

    Joined:
    Feb 10, 2013
    Posts:
    4
    Yes! Tim never sleeps or even leaves his computer so this will always be supported. If you ever have questions or suggestions feel free to let us know.


    As always, please rate/comment on the Good SVN page as it will help others in the future.


    Thanks!
     
  35. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    Okay I did find one minor bug, where in one case SVN->CleanUp was linked to SVN->Checkout. That's fixed and I'll be submitting an update.

    I also made a slight change so now you can have Good SVN and Good GIT in the same project.
    https://github.com/JustGoodDesign/Docs/blob/master/GoodGIT.md

    Updates will be in the store under review. It could be a couple weeks as the review process can take a while.

    $GoodGITSVN.jpg
     
    Last edited: Jan 20, 2014
  36. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    Now that Good GIT was accepted, I'll go forward with the Good SVN update making the two compatible in the same project. (Which is a rare scenario)
     
  37. JustGoodDesign

    JustGoodDesign

    Joined:
    Feb 10, 2013
    Posts:
    4
    Awesome, thanks Tim!
     
  38. zipper

    zipper

    Joined:
    Jun 12, 2011
    Posts:
    89
    Hi,

    Just purchased the plugin and i am setting things up.

    Quick question regarding
    "SVN client versions 1.6 and 1.7 are supported."

    Does the plugin work with Tortoise 1.8.4?
     
  39. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    It should support any versions side by side. Thanks for the heads up and we'll update the documentation.

    On Mac you can create a CrossOver bottle for each TortoiseSVN version. And then on Windows, just install the latest client. I don't think you can install multiple TortoiseSVN versions on Windows because it would make the context menu confusing. Instead you can install your preferred version and GoodSVN works with that.
     
  40. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    I bought Good SVN today and have it working well on Windows.

    I used VisualSVN to setup an SVN server (do you recommend a different SVN server, btw?) and, using TortoiseSVN on one PC, imported an existing project to SVN, then checked it out on a different PC.

    I made a small change to the project on the second PC, committed the change via Good SVN then got the update on the first PC with Good SVN.

    But I'm a little stuck on the Mac side. Your tutorial video was easy to follow and I have Crossover setup but now I do not know how to proceed.

    On the Mac side, how do I check out a project from SVN? I understand how to use the Good SVN GUI to get updates and commit changes, but how do I get the project out of SVN in the first place?

    Also, do I have to use Putty? On the Windows side I think TortoiseSVN is using HTTP/HTTPS, not SSH. Can I use HTTP on the Mac side?

    Finally, should I be using WinMerge on the PC side as well as the Mac side?

    Thanks for making this tool. I will post a review once I have all this sorted out.
     
    Last edited: Feb 24, 2014
  41. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    Hello schmosef,

    You can use any SVN server you want. Right now we only support the TortoiseSVN client.

    Putty/PuttyGen is only necessary if you use a SVN server with SSH and keys. You would have to do the same setup on Windows and Mac anyway.

    Normally I checkout the folder before opening in Unity, so I don't have to deal with the checkout step. Mainly because that would involve Assets and Library files, Project Settings, etc.

    So my first step I use command-line to get the SVN checkout started. I.e. Open a terminal and if you have xcode installed with the command-line tools I run:

    svn checkout http://THE_SVN_PATH

    I then open the Unity project, and then use Good SVN within Unity there on out.

    I hope that helps. And we should definitely add step by step screenshots about this to the docs at some point.
     
  42. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    Ok, that makes sense.

    On the PC I was using TortoiseSVN to do the initial checkout but couldn't figure out how to do that on the Mac.

    It didn't even occur to me to use the command line tools. Thanks!

    Speaking of the Mac, in one of your videos you mentioned an alternative IDE to Monodevelop in one of your videos but I couldn't catch the name. Can you let me know what IDE you were talking about? On Windows I use UnityVS with Visual Studio 2013 and I like it much better than Monodevelop.
     
  43. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    Hi schmosef,

    I use Visual Studio on Mac. I ran a Virtual Machine in VMWare Fusion or VirtualBox with a Windows guest on Mac. The Guest has Visual Studio installed and I share the Mac folder so I can open the generated project. That way you can run Unity natively on the Mac, and a virtual machine is fast enough to just use Visual Studio in a window.
     
  44. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    That's really interesting. I'd love to keep using VS2013 when I'm working on my iOS port. Are you able to set break points and debug with this configuration?

    One more question about the SVN setup: You recommend WinMerge in the Crossover setup. Should I be using it in my PC setup as well?
     
    Last edited: Feb 25, 2014
  45. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    You can't set breakpoints and debug with Visual Studio on Mac currently (with Unity). I use it mainly for the text editor and plugins.

    I use Winmerge because it's my preferred diff tool and it can compare folders and subfolders which is very nice when manually merging branches. I prefer to use it on both Mac and Windows. The TortoiseSVN settings allow you to specify an external diff tool, so you can use your preference.
     
  46. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    Thanks for your help so far. I'm learning a lot.

    My Windows setup is working just fine but I've run into an issue with my OSX setup.

    I think it is caused by the fact that my SVN Server is based on Subversion 1.8 and the OSX clients (I'm using to check out the project) are based on 1.6 or 1.7.

    I'm able to use the OSX built-in SVN client (or Cornerstone or Versions) to check out a copy of the project and I am able to load the project successfully in Unity.

    But when I make changes and try to commit them via Good SVN, TortoiseSVN says it can't find any changes.

    When I try doing a checkout via Good SVN I get a message saying that "the working copy is too old (format 29) to work with client version '1.8.8 (r1568071)' (expects format 31). You need to upgrade the working copy first."

    Can you think of a work around for this issue?

    Is there a way for me to call "svn upgrade" on TortoiseSVN from within Good SVN?

    Maybe I just need an OSX client that supports subversion 1.8. Do you know of one?
     
  47. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    Actually, in your Crossover Bundle, you just need to manually install the latest TortoiseSVN manually. I'll contact them and make sure they add a crosstie for the latest version.

    When you launch CrossOver you can Manage Bottles. You can manually create a bottle. And then install software "other" and point directly to the EXE or MSI installer and install directly to that bottle.

    The latest TortoiseSVN supports 1.8. Conversely, if you want to support 1.6 or 1.7 you can install one of the older TortoiseSVN installers in the archive.
     
  48. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    Sorry, maybe I was not clear. I do have the latest TortoiseSVN installed in Crossover.

    The problem was happening because the different clients I used to do the initial checkout did not support Subversion 1.8 properly. When I would try to manipulate the project in Unity via Good SVN/TortoiseSVN, I would get errors related to version incompatibility.

    I've since resolved the problem. I found an OSX SVN client called SmartSVN, which supports Subversion 1.8.

    When I use SmartSVN to do the initial checkout I am then able to manipulate the project in Unity via Good SVN/TortoiseSVN.

    Thanks for creating this essential tool. I'll post a review shortly.
     
  49. tgraupmann

    tgraupmann

    Joined:
    Sep 14, 2007
    Posts:
    828
    I gotcha. You couldn't initially checkout without a 1.8 client. And the command-line wouldn't work. I wonder how long until XCode's command-line tools support 1.8?
     
  50. Jesse_Pixelsmith

    Jesse_Pixelsmith

    Joined:
    Nov 22, 2009
    Posts:
    296
    Hi, currently evaluating if this plugin will work for me. Is it easy to sync up and store stuff on outside servers? In the past I have used the Unity Asset Server in conjunction with Amazon EC2 and once it get setup it was quite slick.

    How easy is it to link to a server like Amazon EC2? I'm new to some of this stuff so apologies if I don't know some of the terms/common practices.

    Thanks!