Posted by: Rajib Mahmud | January 9, 2009

Work with Visual SVN Server & Tortoise SVN

I work in my office with Visual SVN in our software projects and would love to have a version control at our disposal. This is useful for many reasons. If we are working with one or more developer on a joint project, if we have a desktop and a laptop and we want to work from both computers while keeping the files synchronized, or if we just want to be more organized and keep versions and backups of our work. We can also use Visual SVN to synchronize folders or documents between several computers.

Here I give the Software. Please Download these.

TortoiseSVN-1.5.6.14908-win32-svn-1.5.5.msi

TortoiseSVN-1.5.6.14908-win64-svn-1.5.5.msi

VisualSVN-Server-1.6.2.msi

This article will have 2 sections One will discuss the SVN Server installation and configuration and the second part will be about how to use the SVN client.

First you have to download the Visual SVN Server Installation

Or download Visual SVN and Tortoise SVN from the given link.

Installing the Visual SVN Server

Double click on the Visual SVN executable to begin the installation. A few next next next clicks you will get this screen to the next.

Visual SVN Server
Visual SVN Server

Here you can select the Location of the installation and the Location of the repositories (where the projects will be located). If you are using this installation on a server and intend to access it from different locations you will have to specify a Server Port for the SVN server to use which you will later forward on the router. You also have the option to select the authentication methods either Windows users or specific Subversions users. We will leave everything as is and finish the installation.

This is the Visual SVN Server Manager window.

visual-svn-server-manager
Visual SVN server manager window

Creating a Repository

Right Click on Repositories and select Create New Repository

Repository Creation
Repository Creation

Geting URL
Geting URL

Defult Sturcture
Defult Sturcture

You will be prompted to provide a name to that repository and you will have the options to create a “default structure” which means you will get the trunk, branches and tags folders. for those of you who are familiar with source control trunk is the “Development” main branch, branches are for temporary copies of the main branch and tags are versions of the main development you want to keep for visioning. You can read more about it here.

After you have specified the repository name click ok and you are all done creating your first repository.

Configuring Users

Go to the start menu and run the Visual SVN Server Manage.

Right Click on Users and select Create User

Create User
Create User

You will have to specify a user name and passwords click OK and you have your first User!

Remember the repository we created a few minutes ago, now is the time to assign premitions to our newly created user. Right click on the repository and select properties or go to all tasks then select manage security:

User Password
User Password

Security Manage Window
Security Manage Window

You will get the following screen:

Parmission to all
Parmission to all

Click on add and you will see the list of all the users in the system

Properties of User
Properties of User

Select the user you want to add permissions and click OK. You can now see that the user Rajib is in the group of users that are allowed to access the SVN server

Authorison to different user
Authorison to different user

That’s it. You now have your own SVN server at your disposal. In the next couple of days I will show you how to work with the Visual SVN Server using it’s client, so don’t forget to Grab our feed and stay updated.

Now we installed and configured the Subversion server using Visual SVN.

Tortoise SVN Client Application:

Now I am going to show you how to interact with the server from the client side.

What you will need to download the Tortoise SVN client application. Or check the given link at the begening

Download and install and after a restart (bummer) we are ready to start working!

The Tortoise SVN adds its functionality in the Windows Explorer Context Menu.

Tortoise SVN Client Application
Tortoise SVN Client Application

Verifying the connection to the SVN Server

Before we start working we will have to Verify the connection to the SVN Server. Right click on any folder in the Windows Explorer and select TortoiseSVN -> Repo-browser

you will be asked for a path to the repository enter : file:///E:/<The location of the repositories>/<The repository name you selected> in my case I will enter :

file:///E:/Repositories/Test/

Connection with SVN server
Connection with SVN server

You can get the URL from the Visual SVN Server Manager window like this.

URL
URL

what you should get is this:

Connection Stablished
Connection Stablished

If you got this it means that you can connect to the SVN Server.

If you are trying to connect to a remote server you will have to enter the following when asked for the URL of the repository:

https://<The ip of the Server>/svn/<The Repository Name>

You should get the same results.

Getting the files from the repository

To get the files from the repository we created earlier, we will have to create a new folder, which I hope everyone knows how to do it :).

After you have created the folder, right click on it and select the “SVN Checkout…” option from the context menu. You will see the following screen:

Checkout
Checkout

Checkout Completed
Checkout Completed

If you followed all the steps the address of the repository should be already written here. All you have to do is click “OK”

This means we have checked out the files successfully and we can start working!

The directory should look like this:

Directory Outlook
Directory Outlook

The Green V marks mean that nothing has changed inside the directory. Let’s add a new file to the trunk (main branch) directory. We will then Right Click on the trunk and select “Commit”

File Add to SVN
File Add to SVN

Adding complete
Adding complete

The SVN Server has detected that you have added a new file and you will have to check the Checkbox next to it in order for it to be inserted to the repository.

Lets try and edit the file and add some text in it. Both the file and the Directory will get a red exclamation mark saying they have been changed:

To send the Changes to the Server you can right click any of them and select “SVN Commit…” from the context menu. Doing it on the Folder will make the Commit recursive to all the files inside it.

That’s it! You are ready to work with you very own version control. In my next post I will show some advanced features of the SVN system.

SVN commit
SVN commit

Commit complete
Commit complete

But this is a good practice to update your work fast before commit. For update your work follow the procedure given bellow.

SVN Update
SVN Update

Update complete
Update complete

Thank you for read the procedure. I hope you will get benefit using Visual SVN and Tortoise SVN. I am waiting for your comment.

Thanks

Rajib Mahmud

Advertisements

Responses

  1. Its really an excellent job done. Thanks….

  2. This is very important post. a lot of 10x.

  3. Well Done ! Thanks…………………..!

  4. Excellent job.

  5. 1 month of stress 2 minutes of glory thank you very much

  6. Thanks Daniel.

  7. Excellent job!

    I’m implementing an exactly same solution right now with AD integration. But I found a problem with using VisualSVN to authorize access with AD Group. When I assign ReadOnly access to a Group, all AD Users in that Group automatically gain full access to the resource, including both Submission and Deletion. Have you seen similar result?
    Thanks.

  8. Thank you very much. The article was very useful and informative too:)

  9. It’s really nice article. Keep the good work Rajib!!.

    Thanks
    Krishna

  10. Thanks. It will help me to do something for others.

  11. Good description.

    Some questions:
    I have used a lot the VSS and I notice that the SVN have another way of doing the versioning.

    I mean in VSS, the file code was kept unchecked and when you want to modify it, the file was checked-out and you modify the last version from the server.
    In SVN, if I understand correctly, you have all the files checked-out all the time and you may modify on an older version, but before the check-in you should do the update that will update your files and then do the check-in.

    1) Is the process described before correct?
    2) May I change the way that SVN is working to be similar with the VSS way of doing things?

    Thank you.

  12. Dear Cristian
    Thanks for ur question. I think u r right.

  13. Lots of thanks’, your tutorial help me a lotsssss…

  14. One more Question?
    How can I enable adding files from client site, since I’m getting error ” This is nothing to add. All the files and folders are under version or have been ignored using svn:ignore property or the global ignore configuration settion.”
    I will really appreciated, If you have time to solve it out..

    Thanks in advance.

  15. […] most helpful resource for this project was Rajib Mahmud’s post on how to actually work with VisualSVN Server and Tortoise SVN. A great resource for noobs who are […]

  16. hello, i would like to ask a solution to a problem encountered during the use of svn. we are using svn for a c#.net desktop application and we are facing problems while committing and updating the bin and obj folder of the project. that results in a conflict and we are unable to commit that. what shall be the solution to this problem? shall we not add these folders into the server or is there any other way to solve this problem?
    thanks in advance.
    looking forward for your response.

  17. Hi Sajjan Dahal
    I think if you will not add bin and obj folder, then your problem will be solved. I also faced similar problem when i worked with cakephp. My config and temp folder also made similar type of problem. Try it.

    Thanks
    Rajib Mahmud

  18. plz, Is visual svn server used with all applications or with visual studio only?..and is virsual svn server open source?..If it is open source from where I can get its source code?

  19. How we can run php projects in visual svn server?.We are using windows 2003 server with IIS V6.0,
    visual svn server version 2.0.4 and tortoise svn 1.6.3

  20. first check out the folder, then add ur php file, then commit. I hope u will solve ur problem.

  21. Thank you! It helps me very much!

  22. thanks for ur comments.

  23. Hi,
    As a student, I already knew about this way of working and used it but I never configured my own SVN server before. Thanks to you, I am now able to easily synchronize all my projects on all my machines.

  24. Hi Rajib…

    this is a very nice guide… I would like to ask a question. We tried to access SVN server thru OpenVPN but it could not connect but internally it can, how can we resolve this?

    thank you…
    -tarayz

  25. Thanks,I have followed all yourr instruction and it works perfect.

    But I made a mistake and add my files to Branch instead of trunk.

    Now I am stucked, I tried to add to Trunk as well it didn’t work, so I deleted the Repository and create a new one and tried to add the files to Trunk of new Repository. Since the folders have v Green Mark they don’t get uploaded.
    I tried and tried and tried, but I couldn’t resolve the problem.

    Could you please give me a clue.

    Thanks a lot.

  26. i think u will try with a real ip.

  27. uninstall the svn then try again.

    thanks

  28. This is one of the most well done tech blog.
    Thank you for making this so easy.

  29. Thanks.

  30. Hi Rajib,
    This is Sujit. I want to know that is there any possibility to store multiple version controlling in SVN??

    And also want to know that is Microsoft Visual Source Safe is support for PHP files or not????

  31. Thanks for your comment. I dont think that multiple version will be used in svn. I am not sure about Microsoft Visual Source Safe.

  32. today again i took help form ur site regarding svn setup . thanks again

  33. Its great to touch with the old colleague. Thanks to remember me and appreciate me.

  34. Real good one Rajib! Thanks 🙂

  35. thanks Vikram Bodicherla.

  36. hello thanks for your useful article .
    i have a question , is it:
    Is it possible to have more than 1 repository in
    differnt location of server ?
    If yes , how can define it ?
    thanks in advenced.
    zahra babaei
    IRAN

  37. I am not sure. U can create different repository. But u can use only one for a project or a group of project at a time. Pls confarm and let me know.

    Thanks

  38. I have just installed the free VisualSVN on server 2003 and using TortoiseSVN clients internally and externally.

    I wish to use keyword substitution in text based source code, can it be enabled on the server end, or has each client to be configured to enable it?

  39. Only server site enable is needed.

  40. How do you enable it?

  41. hello ,
    would u plz tell me how can i limit usr access to making folder in repository ?
    4 example user : x could not make new folder with URL Address while Importing , ….

  42. Hi there, I found your blog via Google while searching for first aid for a heart attack and your post
    looks very interesting for me.

  43. cool dude its really works…………………..
    thnx alot

  44. thanks

  45. go to svn manager and find user add section. u can set the user access here for a particular user.

  46. very elaborately expalined great work

  47. Thanks nisheet

  48. thanks…worked for me

  49. i have a question . how can we see the history of tagging and bug in the source code such as blueJ open source code.

  50. Great thanks man, has helped a lot 🙂

  51. thanks man..helped a lot

  52. Thank You.

  53. Nice work. I was getting frustrated with the installtion but this article helped me to install it in minutes. Everything worked fine.

  54. i cant view branch,tag and trunk folder in my local system.while doing Checkout process for the folder.can u help me please..

    thanks for advance

  55. u have to create it.

  56. my visual svnserver is local but i want to have it online

    what are the solutions that don’t cost a thing?
    Where can i find a server place for free?

  57. Thank you so much. such a great help

  58. Please see the link below
    http://www.websvn.info/
    Thanks

  59. Excellent Job rajib..This is what exactly i am looking for…

  60. Thank u Rajib, m really thankfull to u for this help, from lat one week i was trying to doing the same but to day , in just 10 mins i got the whole idea..thank u

  61. Thanks Rajib. It just inspired me.

  62. Insted of using visual svn wat other server we can use ..any suggetion

  63. No. I am just using SVN.

  64. Hello Rajib. Thanks for the information

  65. realy good tnx

  66. I am very glad to know that you are helped by my effort. Hope I will help you more.

  67. very helpful tnx a lot mr rajib

  68. Really good!

  69. anek din SVN e kaz korina, pray vole e gecilam. today again i took help form ur site regarding SVN. anek upakar holo.

  70. WC

  71. Nice job! You saved me alot of time on this project I am working on. Thank you for that! It is much appreciated. Your instructions were easy to follow and worked as advertised.

  72. Thanks a lot it was awesome ….

  73. This is the first time i am going to use svn, i understood about this software little how to work, anybody please tell me which version is best for visual svn server,, its starts from 1.0 to Version 2.5.1,,,

  74. As latest as possible.

  75. how should clear this errror while using svn in server machine its shows error 0: REPORT request failed on ‘/svn/projects/!svn/vcc/default’: Path ‘localhost:8443/svn/projects’; is not canonicalized; there is a problem with the client,,,, my localhost is in capital letter. This is the problem for my error?
    please solve my problem…

  76. i am using visualsvn server version is 2.5.1

  77. I dont know about this. If any body knows then please help.

  78. i cleared that error Raj,in my PC my localhost(i.e) computer name is in capital letter ‘SERVER’ mentioned. then i changed into small letter and restated its working,,,,

  79. what is the purpose of group?,, how should i work?,, i have 10 users.. is anybody know please help me…i am using visualsvn server in my server machine,, then i access 10 users by using tortoise svn,, they all are working in different project so i created repositories for each user and then i tested its working,, can you please tell about the group….

  80. Congratulation. May be it seems to be a minor error. But for this, a lot of time will be spend for this. Thanks for the solution. Hope it will save time and effort to others.

  81. thank you…good work

  82. Happy to help you.

  83. merci bc mon frere c est un bon travail .

  84. Thanks for the post. It is really helpful and spoon feeding messages..

    good work..keep it up.

    Thanks
    RajarammaN.
    QR Code and AR Marker Development
    rajaramanindia@gmail.com

  85. Thanks RajarammaN. Your appraisal inspire me. Thanks again.

  86. Good work buddy, its really helpful………….
    Wishing u very best endeavor of your future.

    Regards,
    M.Iqbal
    Principle software Engineer
    MCPD (web & Window Applications)

  87. Thanks Mr. Iqbal. Happy to help you.

  88. It is a couple of years since this article has been published, and I have looked in so many places for a tutorial on how to do this. I have to say this is the most complete and simple tutorial I have seen. It helped me so so so much. Thanks you so much, I must have installed/remove svn softwares a billion times until I stumble onto here.

    Thank you so much, this was perfect for me. Simple ans straight to the point

  89. Dear Yanick,
    Thanks for your kind comment. Happy to here that it helps you. I became a mad when it was my first time. So this is nothing but some snap shoot to follow the steps and save time for the engineers like you. Comment like yours inspire me very much. Thank you again for such a inspiring comment.

    Engr. Rajib Mahmud

  90. Hi Siva, thanks to share. If u get the solution of previous problem, pls share in this blog.

    Hi Rajib,
    SVN made lot of hidden files in the project folder for its own use. This files take huge extra space. For example, in a project while the project files are only about 5MB in size, overall the folder takes about 20MB size(project files + svn files). Which is a extra overhead while upload.

    Hope u will provide solution in this blog anyhow.

    Software Programmer
    Farjana.

  91. nice job

  92. Thanks. But Bangla foure and English eight is not same though they look same. Hope you will understood.

  93. Great, thanks.

  94. Do you have an update for the newer SVN Server 2.5.3 Setup? I’m doing the setup and not sure if I need
    a. VisualSVN Server and Managemnet Console or b. Management Console Only.

    Also, the next screen shows Repository location. Is this where I enter my server url?

    Do I need Subversion authentication or Windows authentication. I’m not sure what this is.

    My group needs to use version control and I’m trying to set them up. Thanks!

  95. good article, this process helps me a lot. thank u

  96. thank you Mr rajib for this great post (جزاك الله كل خير)
    may ALLAH Bless you Always. 🙂

  97. It’s great explanation i never seen.

  98. this dude u saved my life i was searching this for month
    actually whether this visual svn is free of cost

  99. Thanks so much! 🙂

  100. nice article

  101. is the steps here applicable for Standard SVN server, particularly for the User Accounts management?

  102. Thanks, It is really usefull

  103. thanks for ur comment

  104. hey rajib..manish dis side. m also using the same s/w. but am facing 1 problem when in a single repositery if i make projects and add files in all the projects respectively. All files are linked to each other in different projects like if i do change in a file of Ist project lets say its version become 3 now if i change file in another project Ist time then the version will jump to 4 because last update was 3. so please help me out….

  105. Rajib great help yaar, You have explained superbly.

  106. thank you very much ….really u you are helping a lot dude

  107. hi i stuck with this can you help me?
    I have wamp server at c:\wamp\www and the visual svn server.
    how can i bring last code into my wamp i to browse in the browser something like http://localhost:82/myproject

  108. IS there any way to export the repository from Visual SVN Server. I would like to export the repository into a folder on the server. I remember there is a way of doing it on client but how abt on server.

  109. thanks rajib…may allah give u best rewards

  110. Thanks Rajib, Article is very good for new users of SVN like me… keep it up 🙂

  111. Super post thanks..

  112. “The Green V marks mean that nothing has changed inside the directory.” – What view is this? SImpel Explorer view because I don’t have these check symbols at the folders.

  113. It is really useful. Good Job and Thank you so much ……….

  114. Vielen Dank! It is really helpful.

  115. Good I like that

  116. I can´t connect with my server….I have introduced the ip of the server…but tortoise tell me : “Unable to connect to a repository at URL” unknow host

  117. Excellent .. !! Really helpful.. many thanks ..

  118. excellent

  119. if i am using tortoise svn in client side (means in my local PC) and server (amazon server ) tortoise svn is installed how to communicate with these two

  120. was really… really helpful.. rightly directed… thank you

  121. I’m gone to say to my little brother, that he should also pay a quick visit this weblog on regular basis to get updated from latest information.

  122. Very helpful description..Thank you Rajib!

  123. thanks you rajib.. really helpful.. 🙂

  124. Hi Rajib Mahmud

    I hope you doing great job.
    I need your help, In my system TortoiseSVN icons not showing up under windows7(i.e) folders doesn’t shown green, red icon in windows. I used latest version 1.8.

    Please give the support, anybody knows plz let me know friend.

  125. Sorry. I dont know this. Please help her if anybody know this.

  126. thank u so much it solves my problem especially team development

  127. how to connect svn ser to visual studio 12

  128. Thanks for posting this! Most helpful.
    Cheers,
    Derek

  129. Very thanks to help me… Gud job u hv been done

  130. Reblogged this on sandramilhais and commented:
    Great tutorial on how to install, configure and use SVN

  131. good , thanks

  132. I want to use SVN in Ecllipe, Update , Commit and so on..
    and I want to get a message from client who use Tortoise from my Visual SVN Server. If you know please guide me.. Thanks.. 🙂

  133. Hi.. I just want to work the in eclipse to tortoiseSVN as a plugin. Just want to do update and commit in eclipse. if you know, please help me.

  134. Excellent work done. Good job. Thanx

  135. Thanks buddy, good work keep it up..

  136. Thank you for this great tutorial. Thank you very much. Hugs

  137. Hi, thanx for tutorial. It helps me a lot. Thank you once again…

  138. This is really a helpful link. Thank you

  139. Can u please explain the Administration Part of SVN tool……?

  140. Shukriya bhaiya bhahut achaa turtorial!!!

  141. Thank you for posting…

  142. Good job, it is really helpful

  143. simple and easily explained. Awsome…

  144. Is port forwarding required? Nothing in this article about it.

  145. Need Help

  146. Hi,

    I have installed Tortoise SVN one of my laptop and Visual SVN server has been installed on windows server 2008.

    when i tried to give SVN check out from client lap to the server URL path,it ends with connection timed out error

    one more question–Tortoise SVN + Visual SVN server + Oracle apps sync is possible????

    please suggest and advice..


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: