Showing posts with label Perl. Show all posts
Showing posts with label Perl. Show all posts

Thursday, January 1, 2009

SCM @ home

I've started a project at home - homework if you will. It will require both database design and and web programming. As with many others projects, I'll use MySQL as the target database and PHP as the web language. I'll possibly also create a client, perhaps utilizing mono, or maybe just Perl/TK.

I decided to use an SCM. It was going to be Accurev, indeed the title of this post was originally going to be "Accurev in Anger." However, I've just checked out the Accurev website. Apparently the previous 2-person free download is no longer available. I checked out the websites of a number of other SCM vendors: PureCM, Perforce, PlasticSCM and IBM (for ClearCase and Team Concert.) Perforce appear to be the only company still providing that kind of long term small scale evaluation without requesting the inside leg measurement of your Mother's first cousin's girlfriend's sister's hairdresser's cockateel. Well, in addition to ClearCase, Perforce is also used at work, although not by a software development team. I do not want to use it at home.

Consequently, it looks like I'm going to be using Open Source. Well, there's quite a choice of those too. Might as well be Subversion with the TortoiseSVN client. Bazaar or Mercurial or Git might have been more "with it" or edgy or out there, but as its just me the initial attraction is to actually get things done.

I've downloaded and installed the server and client. Now to start writing some code.

Monday, July 21, 2008

ClearCase replica naming and replication

Over the years I've seen various conventions used for the naming of ClearCase VOB replicas. Some of the more popular, especially from when I started at my current company, some 12 years or so ago were:
  • <site name>
  • <division name>
  • <division name>_<site name>

Recently, the admins at a remote site I've been working with have adopted a naming convention for their VOB replicas of <vob tag>_<site name>! I couldn't work out why you would want to include the vob tag as part of a replica name until I realized that they were using the supplied ClearCase MultiSite replication scripts.

Eleven or twelve years ago when using ClearCase v2.2 or possibly v3.0.1 I had written my own Perl script to manage replication. I used an earlier shell script as a starting point. Over the next 4 or 5 years I slowly modified the script to take advantage of new features, i.e [ls|ch]replica -actual I haven't touched it since.

This script automatically produced a filename: sync_<vob tag>_<source replica>_<target replica>_<Time stamp>
e.g. if a VOB had a vob tag of /vobs/src and replicas of Austin and Healey, then a pcaket sent from Austin to Healey might have a packet name of sync_vobs_src_Austin_Healey_21072008-101010 with a suffix _<num> if more than one packet was created.

But to get the vob tag to appear with the supplied scripts you need to include the vob tag as part of the replica names. Even then you only see the source replica listed not the target.