Subversion

Posts   
 
    
BlueCell avatar
BlueCell
User
Posts: 83
Joined: 12-Jul-2004
# Posted on: 03-Nov-2004 23:03:26   

Hi folks,

Refering to Frans his post about the SubVersion source control (http://weblogs.asp.net/fbouma/archive/2004/02/28/81479.aspx)... I have tried Perforce for some weeks and I don't like at all. I hoped that it integrated well with vs.net, but there are just too many bugs to be happy. So Frans blogged about Subversion and how great it is. I downloaded the packages (TortoiseSVN, SVN and the VS .Net IDE Addin) and looked into the docs: I need to install Apache??? So the "BIG" question is: Have you done this aswell??? If yes, what impact did it have (interference with IIS?). Hope to get some feedback, so that I can test it myself.

Gr,

Michel

brettlj
User
Posts: 27
Joined: 08-Feb-2004
# Posted on: 04-Nov-2004 02:03:56   

I've been using Subversion for about 4 months on a Windows Server 2003 that also runs IIS 6.0. Because I needed authentication, I chose to use Apache httpd rather than Subversion's built-in server. I have had no problems with both web servers running on the same machine. I'm also running CruiseControl.NET and have been happy with this setup, but of course YMMV.

takb
User
Posts: 150
Joined: 12-Mar-2004
# Posted on: 04-Nov-2004 06:09:57   

BlueCell wrote:

I downloaded the packages (TortoiseSVN, SVN and the VS .Net IDE Addin)

Check out the pushok subversion VS.NET plugin (www.pushok.com), which is mostly stable. It certainly is a lot more stable than other VS.NET plugins for subversion. I've been using this plugin since about April (when it was early beta) and we have a team of 5 people using it successfully on the same project. It even does file renaming! It's an SCC plugin so integrates with the Visual Studio standard source control features.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39826
Joined: 17-Aug-2003
# Posted on: 04-Nov-2004 09:26:30   

BlueCell wrote:

Hi folks, Refering to Frans his post about the SubVersion source control (http://weblogs.asp.net/fbouma/archive/2004/02/28/81479.aspx)... I have tried Perforce for some weeks and I don't like at all. I hoped that it integrated well with vs.net, but there are just too many bugs to be happy. So Frans blogged about Subversion and how great it is. I downloaded the packages (TortoiseSVN, SVN and the VS .Net IDE Addin) and looked into the docs: I need to install Apache??? So the "BIG" question is: Have you done this aswell??? If yes, what impact did it have (interference with IIS?). Hope to get some feedback, so that I can test it myself.

You don't need apache, you need to run subversion as a service. I don't use the vs.net add-in, just folders with subversion projects. Tortoise connects to the service on our dev server and commits/updates/checkouts the files there.

Integration with vs.net is cumbersome, because microsoft made the interface to sourcecontrol products pretty hard to use. The way subversion works, edit/commit style, it's also not necessary. You just work in your folder and at the end of the day, you commit the work you've done.

What I really like is that I can write simple .cmd files which work with subversion, so I can easily commit a lot of files, export files for packaging etc. just with simple statements.

What I miss is: - real deletion of files. In subversion, once it is checked in, it is always there. This is an option that will be added in the future - sharing of files inside a repository.

Sharing of files can be emulated on disk by a simple .cmd file which exports the shared files, but it's not ideal.

A product you might find interesting is Vault by Sourcegear. Vault has a lot of similarities with subversion and also with sourcesafe, integrates good with vs.net and is free for a single developer if I'm not mistaken. (and if you've looked at perforce, you'll really like the prices of vault wink ).

Frans Bouma | Lead developer LLBLGen Pro
BlueCell avatar
BlueCell
User
Posts: 83
Joined: 12-Jul-2004
# Posted on: 04-Nov-2004 09:39:26   

Otis wrote:

You don't need apache, you need to run subversion as a service.

Where, how smile ?

Otis wrote:

The way subversion works, edit/commit style, it's also not necessary. You just work in your folder and at the end of the day, you commit the work you've done.

I think I would like that very much wink .

Otis wrote:

What I really like is that I can write simple .cmd files which work with subversion, so I can easily commit a lot of files, export files for packaging etc. just with simple statements.

Could you perhaps post some more information about how this works and why you use this instead of the "native" commands?

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39826
Joined: 17-Aug-2003
# Posted on: 04-Nov-2004 10:24:37   

BlueCell wrote:

Otis wrote:

You don't need apache, you need to run subversion as a service.

Where, how smile ?

oh come on wink . The documentation of subversion is excellent, it's not that hard. simple_smile You need SvnServe.exe to run as a service. You can use any tool to make a .exe a service to do that. I use firedeamon.exe, but you can also use the tool which comes with the win2k resource kit or other simple tool. Once that's done, you can create security settings for the repositories it manages and you can connect to it from any workstation using svn urls simple_smile

Otis wrote:

What I really like is that I can write simple .cmd files which work with subversion, so I can easily commit a lot of files, export files for packaging etc. just with simple statements.

Could you perhaps post some more information about how this works and why you use this instead of the "native" commands?

For example, to create the distro for the runtime libraries, I use:


@echo off
pushd "C:\Myprojects\VS.NET Projects\LLBLGen Pro\RuntimeLibraries"
call makeall10.cmd
call makeall11.cmd
copy DotNet10\* "..\Distribution\separate downloads\RuntimeLibraries\DotNet10\"
copy DotNet11\* "..\Distribution\separate downloads\RuntimeLibraries\DotNet11\"
popd
pushd "C:\Myprojects\VS.NET Projects\LLBLGen Pro\Distribution\separate downloads\RuntimesSource"
svn export svn://geek/LLBLGenPro/RuntimeLibraries/Trunk . --force
popd

and I have lots of these, also for the build test of all the templates, I use a script to first export all the templates of all the databases to the proper folder, then run per database the cmd line generator and compile the code using all the configs shipped.

The svn command is then very handy, with 1 line I can export the files to a proper directory for further packaging. The .msi project for example reads its files from folders in a special folder and I export all files to that folder using simple .cmd files using svn statements, which are called by a single .cmd, so I just start the single .cmd, everything gets copied and exported and I run the .msi packer simple_smile The msi packer is still a vs.net project, I haven't had time to migrate it to WiX.

Frans Bouma | Lead developer LLBLGen Pro