release management Questions

We are upgrading from Harvest 12.1 to 12.5. We have found that HarRefresh is no longer supported by OpenMake or CA. Currently, HarRefresh (in conjunction with Harvest) is a package based product – code within a package is promoted whenever the package is promoted. Is there another solution out there that will move code from Harvest to a server with just the files and version of those files within the package. 

Ideally, I'd like to take a unix shell programming course that is offered in the classroom but I would consider an online course as well.  I have ten years of release engineering experience but I was laid off five years ago and I want to work in unix/linux release engineering again or in even switch to system administration.TIA,

Linda Dawson, Lexington, MA

I'm have promarily used Subversion in the past, and the structure we used was:

/branches    - Self evident name for branch management

   /int          - Integration branches

      /projectA_effort_q4_2014 - Integration branch for release on q4 of 2014

   /usr         - Individual engineers branches

      /fred    - Fred's set of branches

         /some_bug - Fred's branched from somewhere to fix some bug

      /sally    - Sally's set of branches

         /some_feature - Sally's branched from somewhere to add some feature

/tags          - Self evident name for tagging

   /projectA_v1.0 - Tag of projectA at version 1.0

/trunk         - Trunk for various projects

   /projectA  - ProjectA

   /projectB  - ProjectB

/vendor      - Repo path for storing pristine drops of 3rd party code used in various projects

   /acme     - Vendor name of a 3rd party source of code

      /superLib - Acme provides us the superLib

         /current - Latest drop of superLib

         /v1.0_drop - Tagged drop of superLib

         /v1.1_drop - Tagged drop of superLib


The machanics of this is to allow for segregated development with maximum traceablity. For example any propriatary changes specific to a project needed within superLib would happen within that project, and only the pristine changes from the vendor would be within the /vendor area, then merged into the project to minimise merge errors.  Users brnach off the integration branches to their own staging areas in usr to integrate new functionality of fix issues and merge them back into the integration branches once proven.  The CM, PM, EM, and PVM would be responcible for merging the integration branch to the trunk project and tagging the trunk project versions.


Our current system is TFS based, and is really porrly managed - it was a historical conversion from ClearCase to TFS and there is no clear deliniation as described above.  In fact, it's more like a shot gun of tags and branches, without a really good organzation of where the root of changes should reside, and there's multiple code forks even though 90% of the code is shared.
I was looking to see if it makes sence to refactor the release structure into something like the above, but I'm not sure if it makes sense for TFS and the documentation I can find on TFS doesn't really describe best practices or typical work flows, and the rest of the users here are actually more familier with ClearCase as TFS was a corporate edict of standardization that was pushed onto them.
If you are familier with a better flow or best practice for TFS, please share as our current structure is unmaintainable and unscallable for validation and test purposes.

Thanks much,


A new project we got will force us to add a few more testers for the duration of the project (estimated around 8 months). We will probably outsource this extra testing alongside us. My question really has to do with any advice or tool anyone of you uses or knows of that will be a smart way to manage this effort?

By Param M - June 29, 20144 Answers


I am working an project to migrate from SVN to Clearcase UCM. Kindly guide me if any one have step by step process to move with or without revision files from SVN to Clearcase UCM.


Thanks in advance.

By Ambika S - February 5, 20142 Answers


Lets say our team wants to push a perl script to production asap. The developer has committed the code in subversion. Now how does this reach the build person? Do you use any modern tools for requesting/approval process for the release. Right now we are using our own system developed using perl/cgi which scans for the new commits and displays it so that dev can choose the file with the version and request a code release.

We want to improvise this as we are moving to svn. How does everyone achieve this? What tools, plugins do you use for requesting a particular file and its version? How about the approvals?

Thanks in advance.

I've re-read through the couple of questions that cover this before and thought a new one was in order. It's been over a year now and nothing's been visible. We've been told it's been discussed and has been in "sprints" and that every intention is to bring them back, but nothing has manifested itself on this site. I've also been told that we can have access to the old forums , if we ask, and I did and still nothing to search by. Based on the number of answers given in the Q&A section, I think most users have abandoned the site. I hope you can re-build it into what it once was. 



Is there any SCM tool which allows to define dependency between any 2 artifacts within the project.

Technically this is possible with some tools like Maven & Make but in case of any 2 word documents can this be defined using SCM tools?



Question title may not be specific enough and I feel like I could right a book but I'll try to keep it concise.


Configuration example Freight configurations (3 tables)


First process attempt:


Resource took BA configuration Word document that came out of system study


Resource wrote SQL and XML patches and checked them into source control


Above step was initial configuration of the customer's application data


Patches were packaged up into Release Package with source and schema changes and were installed by install utility


Over time developer adds configurations as features were implemented.  These were also SQL and XML patches checked into source control


Over time QA adds configurations as features were implemented or new application configurations were discovered


Problem is what happens when the application is installed in UAT and the client uses the UI to make application configurations (Note: client cannot be expected to track their own changes and

sometimes they are comprehensive enough such as menu reconfigurations they don't want to do by hand to promote to PRD)


Second process attempt:


Instead of creating SQL and XML patches a Config tool was established.  Required application to be installed and running.


Resource took BA configuration Word document that came out of system study


Resource installed the app and manually made configurations through application UI (some configs don't have UI interface and those were done manually in the DB)


Developer uses the configuration file resource put together to get his development going


Over time developer documents configurations and doesn't patch them.  Developer and QA manually applies configurations with feature changes.


Over time QA adds configurations as features were implemented or new application configurations were discovered.  This configuration file was used to promote.


Client gets in UAT environment and makes configuration changes via the UI.  Just need to recreate the configuration file


Problem is the configuration xml file (just more than freight, it was just an example) is hard to compare between environments to figure out the differences.  Not sorted and displayed well 

for text XML comparison tools.  Configuration handles adding but no deleting.  Configuration tool requires app to be up and running.  Configuration doesn't account for configurations that

were in place for only testing and don't want those to be promoted to PRD.


Third process attempt:


Sort of did second process but then went to just completely manually updating and tracking changes via UI, saving off Configuration as a backup.  Problem is very manual and error

proned missed settings





Looking for process of how to handle this sort of thing through ALM and CM, considering the challenges mentioned above.  Can fix the configuraiton tool to present data for better XML

comparision tool.  Can make configuration tool run as a utility outside of the app running.  can use something like Redgate SQL Data Compare (but must setup views, note keys can be different

between promotion environments).  What should be done process-wise to manage and track "real/wanted" configuration changes.


Hope this is making sense.

By Ambika S - October 28, 20131 Answer

Hi everyone,

What is the workflow of a code release using SVN? Do the developers cut a tag every time they need to push some code to production?  Right now we use CVS and the developers request code change through a request form which scans for files and the versions. They select the files and request a code change. The release enginner starts with the file names and their versions, checks out and releases to test and prod. How can I achieve something like this in SVN. since SVN uses global revision numbering system I would like to know if developers request the entire repository after creating a tag or do file based?


CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.