Hi we are installing HP PPM to migrate Oracle Objects. We want to store our code objects in Subversion.
Our plan is to "tag" a revision to indicate what environment it has been migrated to. This way we can apply a new revision while a previous revision is being migrated up the chain.
Our current promotion path is DEV - DVT - QA - PreProd - Prod.
I have several questions.
1. Do we need to store a working copy on the PPM server?
2. What is the command to find the revision with a tag value for a file name? (it may not be the latest file) IE we want to grab a file myworld.sql in SVN with "tag" of QA so it can be migrated to PreProd.
3. What is the command to update the "TAG"to indicate the file has been migrated to Preprod.
4. Is there a special command for migrating binary files vs text files?
We don't have any documentation for this. Nevertheless, there are seeded object types like "PVCS File Migration". Their commands could be inspected to figure out how to implement the integration of the version control system. It is possible to integrate PPM with any third part application that permits a command line interface. We have had several customers integrate PPM with version control systems such as RCS, pvcs and CVS. Each integration requires custom object types and commands for PPM to interact with the version control system via the command line.
Best regards, Randall
-- Remember to give Kudos to answers! (click the KUDOS star) "If you find that this or any post resolves your issue, please be sure to mark it as an accepted solution.”
I helped a client setup PPM to utilize Subversion for Oracle migrations. The Developers had a desktop tool they used to check in/out code, so PPM wasn't involved with that aspect of the version control process. PPM was just used to migrate code from one environment to the next. As Randall mentioned, we made copies of the appropriate Object Types that would need to fall under version control to make the necessary updates. I create a Special Command for the check out process and another one for copying the file from the SVN server to the target server. I'll try to answer your specific questions as best as I can from memory. I may need to look up some of the SVN specific answers.
1. You do not need to store the files on the PPM Server unless that server is also where Subversion is installed. Of course, this also depends on how your developers are working. As I mentioned before, the client I set this up for use a Windows client (Tortoise, I believe) to handle the check in/out process.
2. It would have to be a command line flag to the svn command. Off the top of my head, I don't know it, as we didn't use it. We used the version number (added a field to the Object Type to capture the version number) to indicate which specific version of the file needed to be migrated. We set some things up in the workflow to lock down the version field once it migrated out of Dev so that the version could not be changed. This insured the appropriate version that was approved was the only version that actually migrated up to Test and then Prod.
3. Again, this is a specific SVN thing. Since we didn't utilize this, I don't know much about this aspect of Subversion.
4. From Subversion's point of view, I don't think so. When you start talking about doing file transfers, it does, but the ksc_copy commands handle that using the FILE_TYPE token.
I recenlty also did some PPM-SVN/CVS integrations for Oracle, Findpart & internet file Migration here using Solaris & REDHAT Linux Platforms. Here is my experience may be it could be some addtional help for you....
Now we have a LOT of Audit realted complications we are handling in the Pkg as well as integrated request workflows, but just to talk about the SVN file chekcout and move process, here is a sample command I run from a "temp" directory in Destination server(specific to pkgline) for the checkout ...and then the file is executed/Moved as per the request.
Thanks for all ofthe information. What I discovered is SVN does not support the traditional promotion group so you can not move an item based on its promtion level.
I will use the export command to get the file the nstore the file in directory named after the pkg (to keep integrity) and use that as the source for migrating up the chain. Then when the file is in PROD, I will check it into a production SVN directory.