Posts Tagged “Subversion”

Requirements:

  1. Secure a Subversion 1.4.6 installation running on a Windows 2003 server
  2. Authentication must be against existing Active Directory accounts
  3. The Active Directory server does not allow anonymous binding
  4. Users in group foo should be able to get to the source code
  5. Users not in group foo should get no access at all
  6. Nobody should be able to see anyone else’s password.

Solution:

I finally got it working by using the suggested method of using Apache HTTPD server as a front-end to Subversion, and rather than applying security to Subversion, securing Apache to access Active Directory as an LDAP server.

Steps:
Read the rest of this entry »

Comments 1 Comment »

One of my favorite books on UI Design is Don’t Make Me Think by Steve Krug. While this great book is focused on Web UI design, the central theme is universal: As much as possible, software should be so self-obvious how to use it that no manual is necessary.

As I see it, at least one of three things is possible:

  1. The creators of AnkhSVN should read this book
  2. AnkhSVN cannot create branches
  3. I’m an idiot.

Read the rest of this entry »

Comments 3 Comments »

In my last post I talked about getting involved with the Hudson project. In this post I will describe the steps I took to set up my build environment.

  1. Get JDK 6.0 (Hudson cannot be built using 5.0 or earlier) and install it.
  2. Get Subversion and install it.
  3. Read the rest of this entry »

Comments No Comments »

Andy Glover at Stelligent has posted a useful article on his company’s blog about using Subversion at the command line. Most people never really learn to use the Subversion commands because the graphical tools are usually so good that 95% or more of what we need to do can be done from within the IDE with a click or two. Andy goes into some detail about what goes on under the covers and how you can harness some of that power in the raw.  Click here to read it.

Comments No Comments »

I needed an application, available to my entire development team, to provide RSS feeds for commit activity in our Subversion repository. I found a couple of items that looked reasonable, but they required scripting languages I could not use in my environment - I needed a Java-based solution.

So I decided to write it.

To access Subversion, I used SVNKit, an all-java library for SVN access. To create the RSS feed file (which is just an XML file) I used JDOM, my favorite XML handling library.

To deploy it, just deploy the WAR File to your Servlet container. SvnRss web archive (WAR file)

To use it, hit the app, passing the SVN url as a query parameter (if your aggregator gives you trouble, try URL encoding it). If you need to authenticate to access the repository, specify uid=yourusername and pwd=password as query parameters as well. By default, the feed includes the last 100 revisions, but you can override this with the numRevisions=nn query parameter.

Example invocations:

http://yourserver/SvnRss/SvnRssServlet?svnUrl=svn://yourrepository:1230/java/trunk

http://yourserver/SvnRss/SvnRssServlet?svnUrl=svn://yourrepository:1230/java/trunk&uid=kescobar&pwd=whatsamanmonth

http://yourserver/SvnRss/SvnRssServlet?svnUrl=svn://yourrepository:1230/java/trunk&numRevisions=25

The source code (in an Eclipse project) is also available. SvnRss source code (Zip file)

Comments 6 Comments »

You know how there are “man crushes” and “girl crushes?”  I’ve got a serious code crush on Hudson.  My latest manifestation of this infatuation with this wonderful tool is that I have convinced my co-workers in a vastly C#/ASP.NET shop to stop using CruiseControl.net and Visual Source Safe and to switch to Hudson and Subversion.

This group used to have a huge, single, magic NAnt script that would check one of six projects out of VSS based on parameters sent in, build the project, and publish it to a development server.  Now, Hudson does the checkout from Subversion and the deployment, and the NAnt script just calls MSBuild or zips things up into deployable units.  Next we are going to hook in FXCop to do static code analysis on their stuff and have the problems reported and graphed using the violations plugin (which also reports our Checkstyle and PMD violations on the Java side), and show trends for their NUnit tests.

And the really nice thing is that everyone can use one dashboard to view both the Java and the .NET development efforts.  Great for transparency and accountability.

Comments 1 Comment »

It’s fairly common to have your continuous integration tool running on the same machine that has your source code repository. It’s also fairly common to have your development server running on that same machine as well. But what if you don’t?

At my workplace we use Hudson for continuous integration (and anyone who’s read my blog knows I’m a big fan) and Subversion (which is also awesome) for source code management. These both run on the same machine. We also use JBoss as our web/app server, but on different machines, including the web server set up for development testing. We wanted to do automatic deployment to our development JBoss upon successful completion of a build.

Read the rest of this entry »

Comments No Comments »

I recently set up StatSVN at my workplace. It’s a great tool for getting statistics from your Subversion repository - which in case you didn’t know, has a great deal of rich data regarding your team’s activity that can be extracted by analyzing source code activity. You can get very nice graphs of activity over time, check-in activity by author, churn (the amount of repeated check-in of the same files), proportion of adds versus updates, even things like which days of the week or hours of the day get the most repository activity.
Read the rest of this entry »

Comments 3 Comments »