Scott Hanselman

DasBlog moved from CVS to SVN

April 27, '06 Comments [5] Posted in ASP.NET | DasBlog | Subversion | NUnit | Tools
Sponsored By

Just an FYI to those who care. Joshua Flanagan has been goodly enough to help us move DasBlog's source from CVS to SVN up on SourceForge. To browse the project on the web, go to: http://svn.sourceforge.net/viewcvs.cgi/dasblogce/

Note: Most DasBlog enthusiasts chase the source code and are running the latest stuff by building it. However, for the rest of us, we do recognize the need for a 1.9 binary release and will get to it soon.

However, if you DO want the code...here's Josh's excellent instructions:

Getting the Code

To retrieve and work with the code, you need a SubVersion client.

  • You can use the command-line client (not recommended) http://subversion.tigris.org/
  • Or you can use the TortoiseSVN Windows shell extension (rockin' sweet): http://tortoisesvn.tigris.org/
    • In either case, you must enable the ASP.NET "hack". It simply requires you set an environment variable before working with SubVersion: set SVN_ASP_DOT_NET_HACK=1.
      NOTE: The new TortoiseSVN will ask you this when you install it. Here's more information about the switch/hack.

The rest of these instructions assume the command-line client. The equivalent actions with TortoiseSVN should be obvious.

The first thing you will notice is that the project root folder (dasblogce), has 3 subfolders:
 [branches]
 [tags]
 [trunk]

These 3 folders are a common convention in Subversion repositories. You can read about them in the Subversion book http://svnbook.red-bean.com/. If you are new to Subversion, I highly recommend you read the first 3 chapters. If you are already familiar with Subversion and how to use these folders, you can skip down to the section labeled *DasBlog Specifics.

For example, to checkout a working copy of the entire codebase, you would use the following command:

svn checkout https://svn.sourceforge.net:443/svnroot/dasblogce/trunk dasblogce

This will create a new folder on your filesystem named dasblogce which contains all of the data under the trunk folder. Nothing from branches or tags will be retrieved.

The DasBlog trunk folder has the following layout:
 [docs]
 [lib]
 [source]
 [tools]

The source folder contains only the source code and automated unit tests created by the DasBlog development team. Under CVS, this folder held all files related to the project. The following sections will describe the new location for files that are not considered part of the DasBlog source code, but are still kept with the project.

The docs folder contains all documentation and reference material (URL links). This includes the readme, license, and release notes.

The lib folder contains all compiled 3rd party assemblies referenced by the source code projects.
These files used to be in the source\Assemblies folder. The projects under the source folder have been updated to reference the files in the lib folder (which is why it is important to checkout the entire trunk, and not just the source subfolder, when working on code).

The tools folder contains all of the executables needed to support the development and packaging of DasBlog (not including the .NET Framework itself). For example, the tools\nunit folder contains all of the nunit executables required to run the DasBlog unit tests. Note that the nunit.framework.dll referenced by the test projects is copied to the lib folder - source code should not reference files in the tools folder directly. Keeping the tools stored with the project helps ensure that all developers on the project always use the same version. (You will want to remove NUnit from your GAC to avoid overriding the project copies.) For more information about this strategy, check out Mike Robert's excellent article "How to setup a .NET Development Tree":

Kudos and big thanks to Josh for taking the initiative on this!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. I am a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by ORCS Web
Thursday, April 27, 2006 3:00:34 AM UTC
An even better link for browsing the source code on the web is:
http://svn.sourceforge.net/viewcvs.cgi/dasblogce/

(Its my fault for sending the wrong link the first time)

ViewVC has great features that allow you to see file differences, log messages, and full details of every checkin.
Thursday, April 27, 2006 7:10:30 PM UTC
Nice and all.. But *why oh why* the ASP.Net hack. You don't need this any more as long as you use VS2005. It completely messes up every other SVN working copy on your disk, creating complete havoc if you're not careful...
Henning Pedersen
Thursday, April 27, 2006 8:04:25 PM UTC
Well you don't HAVE to use the ASP.NET hack if it bothers you that much. I don't sweat it myself as I'm already using the hack for all repos on my system.
Scott Hanselman
Friday, April 28, 2006 2:14:55 AM UTC
Last place I worked at switched to SVN. It was generally regarded as an improvement all around.
Matt
Friday, April 28, 2006 2:55:33 AM UTC
Henning - yes, you can create complete havoc if you're not careful, but when is that not true? If you pay attention to what you are doing, its really not all that big of a deal. You can rename all of your existing .svn folders to _svn, or you can just re-check them out, or you can just enable the asp.net hack temporarily via a simple batch script for the little time you spend in VS2003.
DasBlog is currently under development for .NET 1.1 only, which means VS2005 is not an option. That's why the ASP.NET hack.
Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.