tags:

views:

2162

answers:

13

Hi there,

I'm new to this SCM, but since SVN is gaining popularity I was going to give it a try.

Things I noticed:

  1. SVN is only the backbone of the SCM, no front-end?
  2. Why is there several versions of Windows Binaries? Tigris? SlikSVN? VisualSVN?
  3. Do I need a Web Server like Apache in order to use SVN?
  4. There's dozens of front-end, Tortoise, WinSVN, etc... Which one is recommended?

The whole thing is rather confusing and I got no idea where to start. I'm using Delphi and would like to use it to store my source files.

Update 1: Seems I got it working using the "file:///" protocol, thanks. Now, how do I configure it as a server with client PCs.

+1  A: 

Set up svn on a windows or linux box somewhere and enable the SVN: protocol. This pretty simple to install and configure. The documentation is pretty clear.

Then use TortoiseSVN to check in/update your code. It's really easy to use.

1) SVN is only the backbone of the SCM, no front-end? It's command line. You can use it as a command line tool, but Tortoise is the way forward if you use windows.

2) Why is there several versions of Windows Binaries? Tigris? SlikSVN? VisualSVN?

Different binaries for different OS's.

3) Do I need a Web Server like Apache in order to use SVN?

No.

4) There's dozens of front-end, Tortoise, WinSVN, etc... Which one is recommended?

TortoiseSVN if you use windows.

WOPR
+13  A: 

Here's a great guide for integrating TortoiseSVN with Delphi's "Tools" menu.

This site shows how to add the following into the IDE:

  1. Svn Commit: Opens the TortoiseSVN commit window.
  2. Svn Diff: Shows diffs for the file currently being edited. (If you’ve configured an external diff viewer like Beyond Compare, this will use it.)
  3. Svn Modifications: Opens the TortoiseSVN modifications window, which shows a list of all modified files.
  4. Svn Update: Updates your working copy with the latest changes from the repository.

If you don't have Ruby installed (as the guide suggests using), simply replace it with a simple online .Bat file instead:

"c:/program files/tortoisesvn/bin/tortoiseproc.exe" /command:%1 /path:%2 /notempfile

Then create the Tools items with:

Program: c:\windows\system32\cmd.exe

Parameters: /C C:\SvnPas\Utils\Batch\SvnCmd.Bat diff $EDNAME $SAVEALL

Mick
+3  A: 

Just use TortoiseSVN and do an initial import to a repository. A Practical Guide is available here.

Turnkey
It means that I don't need to install any SVN server software?
Atlas
Yes, but I found this install tool to be an easy way to set up a local server on Windows: http://www.visualsvn.com/server/
Turnkey
A: 

I would recommend also to purchase Delphi plugin for SVN. Makes your life much easier.

Riho
+1  A: 

1) SVN comes with a commandline UI. There are several GUIs. http://tortoisesvn.tigris.org/ is the most popular and integrates with Windows Explorer.

2) It is open source. Anyone can modify or bundle it different.

3) No, you can connect to SVN is different ways. One of them is through HTTP which does require Apache.

4) http://tortoisesvn.tigris.org/ if you want one outside of Delphi. http://delphiaddinfortortoisesvn.tigris.org/ is a simple Delphi IDE Plugin for SVN. A more advanced one is https://sourceforge.net/projects/delphisvn/

Lars Truijens
+1  A: 

Basically: use svnserve to serve up other PC's without installing apache.

More elaborately:

I've been looking into using a type of SCM and Delphi myself. I decided to use Subversion and TortoiseSVN (a client for SVN). Here's how I made it work.

A newbie such as myself should first get a grasp of some fundamental concepts concerning subversion. Read Chapter 1 of the subversion book (freely available online). Next, you can read Appendix A of the same book, a quick-start guide.

Before installing the server on our Linux server, I wanted to play around with subversion, so I first installed a server on my own PC. The installation proces is completely trivial. In Chapter 6 of the subversion book I read: "the authors of this book recommend a vanilla svnserve installation for small teams just trying to get started with a Subversion server; it's the simplest to set up and has the fewest maintenance issues. You can always switch to a more complex server deployment as your needs change." So I only installed svnserve.

I just made sure that file svnserve.conf (it is in the folder conf in the "Repository Path" you chose at installation time) contains the following uncommented lines (and only those):

[general]
anon-access = none
auth-access = write
password-db = passwd
realm = My Projects
[sasl]
Miel
A: 

In addition to which frontend to use, you should also think about how to organize your sourcecode and which files to check into SVN and which not to check in. (*.RES files become a major pain in the a** because they are binary but change with every build.) What to do about libraries?

This is how I do it.

Thomas Mueller
+6  A: 

This is the fastest way to do get started

Download, install and setup VisualSVN Server. It's free and well integrated into windows. (5 min)

Add users and groups; create your repository. (2 min)

Download and install TortoiseSVN client. It's free and well integrated into windows (5 min)

Make a dir, right clik -> "SVN Checkout"; Enter your rep on your SVN server. Copy files in that dir; right click -> "SVN Commit"; (2 min)

Right clik on DCU file; rigth click -> "Add to ignore list" -> "*.dcu"; You can ignore DSK, DOF, CFG, LOCAL extensions.

Work on your project; do SVN Commit from time to time; read more abut SVN.

If you want to fetch what other people changed: right click -> "SVN Updte".

Hope it helps.

dmajkic
I use the following extensions in my Global ignore list:*.dsk *.ddp *.~* *.dcu *.map *.rsm __history *.local *.identcache *.zip *.exe *.dll *.bpl *.ocx *.obj *.lib *.pch *.pdb *.idb *.exp *.sbr *.bsc *.ilk
TOndrej
A: 
2. Why is there several versions of Windows Binaries? Tigris? SlikSVN? VisualSVN?

The reason is that the Subversion project only delivers sourcecode, no binaries.

  • The tigris releases are plain builds from the build script put in a zip file. (No more, no less).
  • The collabnet distribution is commercially supported by Collabnet. (You can pay them for support contracts or use the same binaries when you support them yourself).
  • The SlikSVN binaries are similar to the plain build, but packaged as as MSI for easy installation on clients. (This package does not contain server components; but renames some common dlls to reduce dll hell)
  • VisualSVN Server is a nice free (as in beer) wrapper around the subversion and apache binaries that makes maintaining a Windows server easy. It does this by adding a closed source management GUI (and an extra apache module)
Bert Huijben
A: 

I have some blog posts on it here: http://sourceitsoftware.blogspot.com/2008/07/starting-out-with-delphi-and-subversion.html http://sourceitsoftware.blogspot.com/2008/07/subversion-server-options.html http://sourceitsoftware.blogspot.com/2008/07/common-tasks-with-subversion.html

I use tortoise svn and the jedi jcl libraries. Most of the time, I just use tortoise.

Initially (unless you have several users), you don't need a server, justset up a repository on a local or network drive.

SeanX
+1  A: 

Here is a link to a video I created illustrating setting up SVN and CruiseControl.NET using a Delphi project.

http://www.stevetrefethen.com/videos/Continuous%20Integration.ashx

Steve
A: 

I use svn on my Linux vhost, and TortoiseSVN on my machines.

I use it for everything, even Microsoft Office file, Tortoise uses Office to show really nice diffs.

Osama ALASSIRY
+3  A: 

SVN is only the backbone of the SCM, no front-end?

Basically, SVN is a console application. If you don't like to type all the commands in console, use a SVN front-end.

Why is there several versions of Windows Binaries? Tigris? SlikSVN? VisualSVN?

Each of them customize SVN installation. For example, VisualSVN Server installs SVN + Apache on Windows, by asking you a few questions in wizards, and configures SVN and Apache based on your answers automatically.

Do I need a Web Server like Apache in order to use SVN?

No, it is not necessary.

There's dozens of front-end, Tortoise, WinSVN, etc... Which one is recommended?

In my opinion, for Windows, TortoiseSVN is the best.

The whole thing is rather confusing and I got no idea where to start. I'm using Delphi and would like to use it to store my source files. First of all, take a look at SVN Help which is published as an electronic book, and explains things very well. If you are using TortoiseSVN, I recommend you reading its help file, because it integrates SVN help into its help file.

For Delphi integration, you can use TSVNWizard which is an open-source Delphi expert bringing TortoiseSVN interface into Delphi IDE: http://delphiaddinfortortoisesvn.tigris.org/tsvnWizard.pas

vcldeveloper