Setting up and running Subversion and Tortoise SVN
Since I've been working with Subversion a bit recently I thought I'd write up a quick step by step guide to getting started with Subversion and Tortoise SVN. Actually this has had a practical side to it - I have a couple of developers on a project that needed to get a quick start and get them up and running with the same base line, so this write up was the result.
There are actually several documents out there that do something similar and the Subversion and the Tortoise SVN documentation in particular are actually quite good at explaining the details of using Subversion. However I found myself floundering a little when first setting up Subversion, getting the the Subversion Service set up and then using Tortoise to hook up to Subversion, creating new source control branches and then creating and using new local copies from the repository. My approach includes a little more hand holding I suppose so I hope some of you may find this useful if you've been thinking about checking out Subversion for the first time.
I'm no source control wiz and this is an intro article - it deals mainly with the configuration and setup end of things not the intricacies of using source control effectively. So you can think of this as a setup and get going guide.
The article can be found here:
http://www.west-wind.com/presentations/subversion/
Other Posts you might also like
The Voices of Reason
# re: Setting up and running Subversion and Tortoise SVN
Have had a bitch of a time breaking the Vulcan-mind-meld like control VSS has on me, and I also usually avoid using software that I have to install in stages from more than 1 source.
Thanks!
# re: Setting up and running Subversion and Tortoise SVN
http://www.visualsvn.com/
# re: Setting up and running Subversion and Tortoise SVN
[general]
# anon-access = read
auth-access = write
auth-access = read
I (think) write access is inclusive of read. I know that if you do something like change the order so read is first that you won't be able to commit your changes (so I think it probably should just be removed in that case). ex.
[general]
#anon-access = read
auth-access = write
Another thing completely unrelated - there is something odd with the CAPTCHA here; it has failed for me the first time I attempted to post a new comment (and the second time around I'm sure I had it correct).
# re: Setting up and running Subversion and Tortoise SVN
# re: Setting up and running Subversion and Tortoise SVN
It's running Ubunutu 6.06 and SVN 1.3.3, but it's pretty easy to upgrade to the latest Ubunutu and Subversion.
# re: Setting up and running Subversion and Tortoise SVN
@Steve - re: VSS mind melt. I can relate. I have been using Vault for quite some time and have been happy with it (and Vault actually also supports Copy/Merge style SCC), but after trying Subversion for a while I find the Explorer style checkin/checkout much easier to deal with. The thing is with Subversion I end up putting almost EVERYTHING under source control almost automatically because it's quick and easy even if there are cross dependencies.
@JM - I talk briefly about Visual SVN in the article.
@Tom - Great idea to a use VM for this in any case and also possibly an easy way to deal with the Apache Http setup <s>.
@Paul - Captcha. My server is still having major issues with worker processes crashing frequently which blows away the cache so I'm guessing that's what you're seeing here.
# re: Setting up and running Subversion and Tortoise SVN
Thanks for posting the article, it's a handy reference.
Teemu
# re: Setting up and running Subversion and Tortoise SVN
# Subversion and Foxpro with lower and upper File Extension
Have you experience working with Subversion and Foxpro and a filename extension problem? I notice fox save form srandomly with Upper or lower case in which subversion store them as different file.
Hope you can share how to fix that problem.
regards,
Simplicio Jison
# re: Setting up and running Subversion and Tortoise SVN
This is one annoying issue in VFP for sure - I've had issues with this in some other places as well...
Anybody know if Subversion can be made to be case insensitive when dealing with file names?
# re: Setting up and running Subversion and Tortoise SVN
# re: Setting up and running Subversion and Tortoise SVN
Same issue with VCX/SCX I suppose if you open from the command window (or MRU).
# Anti-virus software
I do like the explorer interface versus the visual studio integration though.
# re: Setting up and running Subversion and Tortoise SVN
As to AV - that's an issue for over-aggressive AV in general. You should be able to set it up to ignore your repository folder.
# re: Setting up and running Subversion and Tortoise SVN
I don't doubt that this may be a lack of training regarding Subversion on my part. The other thing I don't like is the hassle of not being able to place files in the same folder structure that I may not want in source control. Subversion automatically assumes it should be and adjusts my icons accordingly.
I think you'll find a lot of corporations lock down their anti-virus to prevent developers for ignoring the folders their source code sits in.
I've watched Norton, McAffee, Avast, and Trend just plug away at scanning the local copies of files made or accessed by subversion.
I could live with the headaches of subversion if it weren't for the negative performance penalties of anti-virus software. Which, in my opinion, is problematic for Visual Studio itself.
# re: Setting up and running Subversion and Tortoise SVN
In my experience this step is not necessary and cause no problems.
".svn" is a valid folder name (only windows explorer thinks is not)
You can create a folder name starting with period in command promt, in the vs solution explorer :), with a 3rd party file manager...
Would you share with us what is the exact problem with ".startwithperiod" folder name in vs?
# re: Setting up and running Subversion and Tortoise SVN
http://tinyurl.com/2wfddp
Windows Explorer in general is not happy with anything that starts with a period. Better safe than sorry. <s>
# re: Setting up and running Subversion and Tortoise SVN
Ok, I've just realized that I read that sometime (in tortoise manual or tortoies's web site), sorry I forgot.
(Note that this is an old and only vs 2003 problem. ".svn" cause no problem in vs 2005 version for me, maybe because the wap model not needs iis anymore)
Great intro article anyway, thanks!
# re: Setting up and running Subversion and Tortoise SVN
# re: Setting up and running Subversion and Tortoise SVN
# re: Setting up and running Subversion and Tortoise SVN
"Adding Projects and Files to Source Control" can be made through Ankh tool. What I found so far is it can add all the files of a project recursively to a repository.
Thanks for the great article BTW!
# re: Setting up and running Subversion and Tortoise SVN
My example -
My orriginal C# project is, lets say
C:\Projects\mathprog
I created the subversion folder as you describe, but here -
F:\svnsubversion
Then group folder
F:\svnsubversion\maths
and finaly the project folder
F:\svnsubversion\maths\mathprog
All added with the repro then committed and have a green tick to prove it.
In your text it is this -
But don’t just start importing ...
· Select one of the project folders and basically follow that same routine:
· Go into Tortoise and browse to your repository.
· Create a folder with the project name below the SummaLp folder (SummaLpManager)
· Go into Explorer and CheckOut into the corresponding folder
//This part is where things go wrong.
//the URL of Repository: is file:///F:/svnrepository/math/mathprog
//checkout directory: is C:\Projects\mathprog
//Message:- the folder isn't empty: but it is pointing at my project and I don't want that to //empty
//(Well, not the second time, ok so first time I didn't look properly and just clicked 'yes')
//So I change:-
//The checkout directory to: file:///F:/svnrepository/math/mathprog
//that isn't empty either, but maybe it always tells me that.
//It over writes, once, there after it tells me it 'doesn't exist' while at the same time still being there. (A Zen thing).
//So I wiped out the svn and recovered my project again to make sure no svn files were hiding anywhere, started from scratch, and still that part is where it goes wrong -
1. Url of repository
2. Checkout Directory.
In your example you suddenly stop showing the dialog with your example lines in it, which is what the SVN help files do too.
· This puts the project folder under source control
· Select files and folders, right click and add
I'm sure it is me that has got something wrong, I'm not blaming your post, but I can't get as far as putting even one file in my repository. I don't get that File Copy that you get, the repository is just empty.
Can you fill in the gaps for me please.
PS: My main reason for using SVN is because I've had enough of VStudio express crashing and then can not edit the files, or the xml is corrupt so I lose the designer. I can use the backups, but VS Express always waits till late in the day before it crashes.
# re: Setting up and running Subversion and Tortoise SVN
# re: Setting up and running Subversion and Tortoise SVN
# re: Setting up and running Subversion and Tortoise SVN
# re: Setting up and running Subversion and Tortoise SVN
I've been trying to configure a svn server in my lab following the steps reported in this really well explained guide. but I found problems while setting up to run Subversion as a Service. When I run the batch file with the reported code (paths of installation and repository are ok) I get the message:
[SC] CreateService FAILED 1073: the service already exist
and if I try to start the service I get a timeout error.
maybe it's of easy solving, but I'm new at server configuration. A bit of background: the server will have to run on a pc mounting Windows XP (32 bit), and all the access will have to pass through the proxy of the building. Before following your guide, I tryied to use VisualSvn Server but there were problems accessing it from remote using tortoise (impossible to create the SSL tunnel). So the VisualSvn program has been unistalled, the repository eliminated and new repository created during following your procedure.
Thank you for your help,
Mattia
# re: Setting up and running Subversion and Tortoise SVN
Thanks,