Developer > RPG

Developer

Free Source Version Control for Your RPG

RPG - Free Source Version Control for Your RPG

Bookmark and Share Print Email

Most of my writing comes from adding value to my customers through projects I work on for them. However, I’m especially excited about this article because I’m writing about something for which I have an immediate personal need.

For the past year or so I’ve been looking for a way to more easily manage source-code versions for my RPG and Java* code. Very solid IBM* System i* vendors exist in this space, but their feature sets far exceed my needs.

Recently, I’ve been using an open-source versioning tool named Subversion (http://subversion.tigris.org) to keep track of Java code, and slowly migrating away from my traditional approach of Concurrent Versions System (CVS). Subversion and CVS are ubiquitous for languages like Java, PHP, Perl, etc., but hardly have a heartbeat in the System i community. I hope to change that.

In November, I asked the midrange.com community (http://archive.midrange.com/midrange-l/200711/msg01262.html) if anyone else had the same challenge, and people with similar needs started responding. There was talk about how we could create our own open-source versioning tools for RPG code on the System i platform residing in source physical files. In my initial post, I mentioned an open-source project named SVNKit (http://svnkit.com/), which I found after a couple of Google searches. SVN is an abbreviation for Subversion, and SVNKit is the new name for a pure Java Subversion library formerly known as JavaSVN. SVNKit’s purpose is to communicate with a Subversion repository (i.e., checking in and out, comparing file versions, creating branches, etc.) from a client, which in this case would be the System i platform. SVNKit is so intriguing because it’s 100-percent native Java, which means it runs well on the System i platform.

This article will guide you through the installation, configuration and use of getting your RPG code into a Subversion repository. Again, this can all be done for free!

Note: Even though you can get a Subversion repository on the Internet for free, I’d highly recommend pursuing a paid service that offers some sort of service-level agreement. After investing hundreds of hours developing code it’d be a shame to lose it because the free tool you’re using failed. The free repository recommended here offers upgrades to paid services.

Step 1—Obtaining a Subversion Repository

My first challenge was to find a free place on the Internet to set up an SVN repository so I could test this approach to versioning and determine whether it was right for my shop. I found Assembla (www.assembla.com), which not only has Subversion, but also several other developer tools packaged into one. The sign-up and repository-creation process took about five minutes.

Start by selecting “Register Now” on the home page. Once you’ve verified your account’s e-mail address (part of the registration), create a space by logging into your Assembla account and selecting the Create a New Space link, shown in Figure 1. Enter a space name and URL name, select the Trac Subversion check box and click Next (see Figure 2). On the Security page, change the nonmember access to “View” so others on your team can see the repository once you’ve committed multiple changes (see Figure 3). You can select “Next” on the Team, Wiki Settings and Appearance pages without changing any values. Figure 4 shows your completed repository. Note the repository URL specified on this page—you’ll use it from the green-screen side in the next step.

That’s it! You now have your Subversion repository.

Step 2—Obtaining and Installing SVNKit

The next step is obtaining the SVNKit tool (http://svnkit.com/download). Select the most current file, which as of this writing is file org.tmatesoft.svn_1.1.4.standalone.zip. Download it to your desktop and unzip it.

Next, find the appropriate files on your System i IFS. I used FTP and transmitted the .jar files to /home/aaron/svn. If using FTP, make sure to use binary transfer by specifying “bin” after logging into the FTP prompt. You’ll want the following SVNKit files on your System i platform:

  • /home/aaron/svn/ganymed.jar
  • /home/aaron/svn/svnkit.jar
  • /home/aaron/svn/svnkit-cli.jar
  • /home/aaron/svn/svnkit-javahl.jar
  • /home/aaron/svn/svnkit.build.properties

Now the System i installation is complete—crazy simple, right?

SVNKit is so intriguing because its 100-percent native Java, which means it runs well on the System i platform.

Next page: >>

Page 1 2 3

Aaron Bartell is an RPG and Java developer for www.krengeltech.com. Aaron can be reached at aaronbartell@mowyourlawn.com.

Advertisement



Buyers Guide

Browse products and services for Developer.



Advertisement