Delete a file and package of the old version
search cancel

Delete a file and package of the old version

book

Article ID: 424207

calendar_today

Updated On:

Products

CA Harvest Software Change Manager

Issue/Introduction

A package was created for an emergency deployment into the production environment, PackageA.

This emergency PackageA contained one file checked in to it, version 8.1.1. (version 8 was the current production version at the time).

After the emergency deployment was completed, instead of following the process to get PackageA promoted through the states in Workbench to PROD state, the application team let PackageA sit in emergency state.

Since that emergency deployment, 3 other packages made a change to that same file and were promoted to PROD state:

PackageB – implemented version 9 (which included the PackageA emergency change)
PackageC – implemented version 10
PackageD – implemented version 11

When the application team attempted to complete PacakagA, version 8.1.1 merged up to version 12 after the Concurrent Merge process was run on the MERGE state of PackageA causing a Merge Tag on the file.

If the Interactive Merge process were run on the file, this version 12 is not what was originally deployed as an emergency into the production environment.

The application team wanted us to delete the file out of PackageA and delete the package.  How we can do that?

 

Environment

versions 14.0 and older

Resolution

Follow these steps

1. If possible, backup the Harvest database

2. Right click on each trunk and branch version of our problematic file, check it out for browse, and once checked out, rename the file to include the version number.  For example, version 9 of a file named "myfile.txt" would become "myfile.txt_9" on the file system after checkout.

3. Define a "Switch Package" process for the Prod state.

4. Create some new, empty packages and promote them up to the Prod state.

5. Use the "Switch Package" process to move all versions of our problematic file out to one of the empty packages, making sure that each package only contains one branch and it's resulting trunk.

6. Demote the packages containing all versions of our problematic file back to Dev.

7. Delete all versions of the problematic file, trunks and branches, back to and including v9.

8. Check out a new branch of v8 containing the emergency fix.

9. Merge that to trunk to create v9.

10. Check out v9 on the branch.  On the file system, replace v9.1.1 with the correct interim version from the files we checked out in step 2 and rename it back to just the file name without the version.  Then check in v9.1.1 and merge to v10.

11. Repeat step 10 for succeeding versions until all versions are checked in.

12. Promote the packages back up to Prod and use "Switch Package" again to move the files back to the packages where they belong.