The great SVN, a very well known power, but like all vaults, most of us don't have the key to unlock its oh-so-great potential.
SVN (Apache Subversion) is a remote version control system used for synchronizing project files and... version control, what else? It all sounds technical and whatnot, but really it's simple. I learned from the master, which abandoned making SVN tutorials years ago (he only reached two of those for all I know). About 30 minutes before I started typing this, I was a complete SVN newbie, but here I am, talking like a boss!
Here, I'll detail you how to set-up an SVN server and how to download stuff from that, as well as uploading stuff in there! All for free!
For you semi-technical peeps, you won't be using an internet server, just a local server (ie. your computer), which means if you're planning to keep everyone in the world updated through that, be prepared to shell out some cash. Thankfully, you don't have to do that for your own, personal purposes (or maybe among friends or co-workers, but that's it).
Step 1: No History Here!
It's a bit of time-killer to put a history section for those who want to learn fast. First off! You must download the stuff you need. This is the longest, time-consuming step for those people with not a lot of internet speed (like me). So first.... Ah, the links!
Visual SVN Server Manager
Tortoise SVN Client
So now you must download... downloading... downloading...
You done yet? If so, proceed, if no, just wait...
Do some research about SVN first, since I'll be shelling out some words that you may / may not have heard, but you don't know what they mean anyway. I will be giving you some little definition of terms at the bottom of each step for reference from the next step onwards.
Step 2: Set-up Your Server
So after some installation guide windows, click click, you'll end up on the window below [image 1]. You may leave everything as is, but for me, I just sort of tinkered around with the Server Port number for the lolz, namely server port 1337. "Location" field is the install path for the program itself, while "Repositories" field is the directory where your repositories will be made.
== Post-installation ==
When you open up the application, you'll find the following screen [image 2]. First thing's first, move your view to the directory on the left, thank you very much. Now right click on "Repositories" and click "Create new repository". Type in your repository name, and click "OK".
(you have the option of using the default structure, which will create 3 folders "trunk" "branches" and "tags" automatically for you)
You may create a new folder in there (in case you didn't use the default structure) by right clicking on the empty space (with the repository selected), select "New ->" then click on "Folder..." and there you have it! [Image 3]
== Configuring users ==
Technically, you're done setting up your server, but there might be a couple of complications when you use the client to access it to upload and download files from it. This also allows you to control who can do what.
\\ Creating users \\
Right click on "Users" in the directory, and now click on "Create user..." Indicate the username of the user in the "User name" field. Indicate the password you want the person to use, and just repeat the it in the "Confirm password" field, then press OK. [image 4]
\\ Configure! \\
Right click on "Repositories" in the directory and click "Properties". You will come up with a new window [image 5] where you can configure the accessibility of each user. By default, you'll have the user "Everyone" in the list, but that's about it. To get another person in the list, click on "Add..." then you'll come up with yet another window [image 6]. Click on the user you would like to add permissions to, and click OK. This puts them in the list. You'll return to the list after clicking OK [image 5] on which you can configure each user's accessibility.
Select the user (which highlights him/her) and click on one of the permissions to restrict that user to that permission. Once happy, click "Apply".
== Definition of Terms ==
Repository - pretty much where all the data is stored and protected.
Step 3: Welcome to the Client-side!
Installation of Tortoise SVN is more straightforward than VisualSVN, so you don't need any guide to install it. It gets integrated into the Windows Explorer, so if you try to access it manually, the developers of Tortoise stuck a little message in there to tell you that it's dissolved in Windows Explorer. First off, to download things from your new SVN server, create an empty folder somewhere in your partitions. I used D:\My Other Documents\SVN\TestSVN (I just made it myself so that my C partition doesn't get cluttered with useless files).
First off, check to see if you can get into your own server in the first place. Right click on any empty space, click "Tortoise SVN" then click on "Repo-browser" [image 1]. You'll get a tiny tiny window asking you for the URL. No, it's not a web URL. Make sure that VisualSVN is running and your server is still set-up . Click on your repository in VisualSVN and right click on the empty space and click "Copy URL to Clipboard" and paste it in the URL. You'll find something in the order of image 2. Just type in your username and password and press okay, then you'll find another window [image 3]. That means your server is there and alive.
Download! This should be shorter than finding your server. Right click on your empty folder created a while ago, and click on "SVN Checkout". Press "OK" to continue. It will download everything from there.
Now, how to put files into the SVN server. You still have your SVN folder right? It will have a green thing with a check mark in it. Just put the files you want to put into it, and right click, press "SVN commit". There are other icons for SVN, such as the red circle with an exclamation point, and the violet circle with a question mark, but search those up in the Tortoise SVN website.
Step 4: Closing Remarks
I might make a video since typing it out is kinda confusing, which makes this all the more confusing to first-timers. For now, comments = questions = answers, so if you've got any questions, gimme your comments! I admit to having a few minor mistakes in my English, but due mostly in part of the way I explain things, which is like compressing a compressed file, which messes up the data a lot more.