![]() |
![]() |
|
March 14, 2004Subversion + TortoiseSVN = AWESOME SCM solutionOk, so belay my last message about running Subversion along side of CVS. I don't need to. Subversion is working PERFECTLY. I spent yesterday setting things up... and all I can say is OMG. I have never been so impressed with how quickly everything snapped together as it relates to developer tools. TortoiseSVN has made all the difference. It is just amazing. It has such slick integration directly into explorer its not even funny. Here is a screen shot of one of my C# code trees checked out of my Subversion repository:
With shell extensions turned on it gives an awesome icon overlay to immediately tell me if a file is out of sync, needs to be checked in etc. As you can see in that shot, Dacl.cs has been altered and needs to be checked in. A simple right click on it and hit "Commit" will do that. Or I could step out a directory or two, and it will recursively find which files need to be checked in, and do it for me. It uses SSH2 and tunnels nice and cleanly through just about everything. The only issue I still need to resolve is how to get the client to use my ssh keys so I don't have to enter my password on every action. It seems to prompt me twice each time I take an action, and thats a bit annoying at times. Apparently its just a config option to get the TortoiseSVNPlink ssh agent to work... I just haven't gotten around to figuring that out yet. The Tortoise Merge and Diff utils work great. I have already used it last night to do some compares, and it "just worked" for me. I like it when I don't have to think and the tool does exactly what they are supposed to do without me having to fuss with it. I am running Subversion in standalone server mode, and NOT through Apache. I prefer to use the rule of separation for such tasks and I was able to do that nicely, configuring it to work as an unprivileged user with no access except to the source code repo. Here are the steps I took to basically get things going on the Linux side of things (using Debian as my base):
Thats it. At that point I have Subversion running as user svn, with the local repo stored in /var/svn, accessable using SSH tunneling for the development group. To access it with TortoiseSVN I just do a checkout via a right click and then type: svn+ssh://dana@vulscan.com/ProjectTakeOverTheWorld/ and go to town coding my Pinky and the Brain Mind Altering Operating System. (Better knowns as PATBMAOS, or Longhorn for short) I still have to get used to how Subversion works, and I could have done a better job by reading their docs BEFORE importing all my code. I wish I would have known to use their format of repository/project/trunk, repository/project/branches and repository/project/tags for the dir structure. Not sure how that will muck up my branches and tags. Will have to wait and see. So, end result? I would sum it up as:
So there you have it. Subversion + TortoiseSVN = My SCM solution. And I am quite happy with how it turned out. Posted by SilverStr at March 14, 2004 09:05 AM | TrackBackComments
Would you mind sharing your overlay icons? The screenshot shows that you're not using the default ones which TSVN installes. Those are the overlay icons Ryan Harris created and are provided on the ftp site from TortoiseSVN. You can download them from: http://tortoisesvn.tigris.org/files/documents/406/5942/file_5942.dat?filename=Icons%28Ryan%20Harris%29%2ezip Posted by: SilverStr at March 21, 2004 10:52 PMI am confused, you couldnt run Apache under a non priveledged account? Wasn't there a security exploit in the stand-alone svnserve? I am trying to switch from cvs to svn at work, so far it is pretty tight. Posted by: Jeff Gonzalez at June 23, 2004 11:53 AMNo you can run Apache in a non privileged account, typically something like "nobody" or "wwwdata". However, exposing it across webdav means that my source control permission sets have to reside in the same sets as controlled by webdav to work correctly, and are in the same process context. As you can see from the steps I have done, I have really tightened down the entire thing to the user context of "svn" and the group of "devteam". No one else can access anything... as intended. On top of that, it separates the web server with source control. Having it decoupled and sandboxed away from each other is just good infosec practice. There has been exploits for cvs and svn as of late. Like a good boy not only have I kept up with the patches, the SVN server is only accessable across SSH, which is only accessable through authenticated and authorized connections. In other words.... its as tight as I can get it. Posted by: SilverStr at June 23, 2004 12:09 PMI use subversion and it's great. As long as it's running on a *nix platform. I tried to have a windows environment set up here and last i checked (bout 8 months ago) it was horribly unstable. It also didn't have any integration into VS.NET. I've heard there is a new svn plugin for it which is cool but I've already gone the way of VSS. The thing I hated about it most is that it (Svn) would totally hose web files like pdf's and pictures. I still use it at home but for enterprise accountability I still think it's slightly a ways off Posted by: Jerrad Anderson at June 23, 2004 12:58 PM |
![]() ![]()
My 5 Favorite Books
Writing Secure Code
Secure Programming Cookbook Security Engineering Secure Coding Principles & Practice Inside the Security Mind ![]()
My 5 Favorite Papers
Smashing the Stack
Penetration Studies Covert Channel Analysis of Trusted Systems DoD Trusted Computer System Evaluation Criteria NSA Security Recommendation Guides ![]()
Archives
December 2005
November 2005 October 2005 September 2005 August 2005 July 2005 June 2005 May 2005 April 2005 March 2005 February 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 December 2003 November 2003 October 2003 September 2003 August 2003 July 2003 June 2003 May 2003 April 2003 March 2003 February 2003 January 2003 December 2002 November 2002 October 2002 September 2002 August 2002 July 2002 ![]() |
|