Question

Does anyone know of an alternative to Polarion to migrate Starteam (2006v2) to SVN? Our source alone is 10GB, not including all the revision history. Whenever I run Polarion svnimporter, i get a "Java out of memory" exception. I'm not sure what is causing all the memory use, but I'm not really sure where to go from here. Any suggestions (that allow me to at least keep some history) would be much appreciated.

Thanks!

Was it helpful?

Solution

About a decade ago, we did a StarTeam to ClearCase migration. I was hired to write a program to do the migration. Unfortunately, StarTeam has an extremely limited command line interface and no real API. Almost all of the StarTeam commands had to be pre-fixed by a 50 character login string. Maybe that's changed in the last decade.

Have you tried increasing the memory allocation for Java? By default, the JVM will only use 64Mb of memory. Many Java applications need way more. At the Java command, you can give it something like -Xmx256m to give it 256 megabytes of memory. I see that Polarion's software is Java based, but I didn't end up downloading it because they wanted my name and email. (It just isn't worth the hassle.) However, I take it there's a batch script or shell script that executes the program.

Is it possible to only do a directory/module or two at a time? Many sites use multiple Subversion repositories -- one for each module -- instead of one grand repository for all modules together. Besides, you can always dump and load all the Subversion repositories into one big repository if that's what you really want. A bit more elbow grease, but if it works, you get to keep your entire history.

What we ended up doing is just converting over a few tagged points for the history and not everything. Our theory is that if you really needed the detail history, you could go back to the StarTeam repository.

What happened changed my view of these things: The truth is that we couldn't build much of the old stuff anyway since it depended upon the way it was in StarTeam, so even if we kept the history, it didn't do us too much good. And, it also gave us the opportunity to restructure everything and dump the obsolete stuff -- something we probably wouldn't have done if we could actually keep the history.

And, in the end, no one missed the history anyway. The StarTeam repository used SQLServer for maintaining the repository database. That database crashed not long after the conversion. We didn't find out about it until almost a year later. I was simply trying to see if StarTeam was still working, and discovered the issue.

So, see if upping the memory of the Java process helps, or see if you can do the conversion piecemeal. If that doesn't help, you might want to ask yourself if the history really needs to come over, or if it's okay if you just do a few tagged points and the tips of active branches.

If someone really needs the history, the can go back to the old StarTeam system.

I wish I could give you more help, but I didn't have much more luck with StarTeam myself.


Reply

Is the StarTeam CLI that bad? It should be possible to write a simple script to list revisions and then check them out from starteam and into SVN in a big loop or something, shouldn't it?

You'd think so. After all, I've managed to write my own conversion routines for ClearCase, CVS, Subversion, to whatever. However when I did this a decade ago, the StarTeam CLI is awful, the documentation is awful, and Borland (which owns StarTeam) was no help at all.

There's no login for the command line tool. Each command must provide credentials which means putting in a 50 or so character string in each command. It also means that the CLI has no clue about what you're actually looking at. You can't do a svn info like command. You just have a bunch of stuff checked out.

There's no way to go through a detailed history via the command line. For example, there's no way to find out all the revisions, and check them out one at a time like you could with Subversion or even CVS.

There was a C API, but it was also fairly limited. I see there's now a Java API which is probably what Polarion is using.

I was thinking maybe there's a StarTeam to CVS package which might help things a bit. After you convert to CVS, you could take that and convert it to Subversion. Alas, except for a few souls out in the bleakness of the Internet world asking the same question, I could find nothing on the subject.

I tried downloading the API information or the command line documentation to see if I can figure anything out, but the website is down.

Sorry I can't help you beyond saying I tried and failed.

OTHER TIPS

I am in the process of migrating a medium sized project form StarTeam to Subversion. I too had to deal with many JVM crashes due to the VM running out of memory. Seems that either the Polarion library/tool or the StarTeam.jar file they utilize from StarTeam has a massive memory leak. In any case, I seem to have gotten past it (fingers crossed) by doing the following:

java -Xmx2048m -cp svnimporter.jar:starteam80.jar org.polarion.svnimporter.main.Main full config.properties

Now it has been running for about 3 days on roughly 11 thousand files.. and is only half complete.. so this is a SLOW process to say the least.

I have found no other tools out there.... so good luck.

I do not know starteam, but usually you can export a list of labels/tags (or maybe all tags?) From your Source Versioning system. And then use svn_load_dirs.pl To "stack" them over each other.

This means you will not have the whole history, but at least most of your frozen project states.

You may or may not also export some time stamped versions and try to stack them as well.

I recently migrated some simple clearcase VOBs by just examining the checkin / commit history and exported for each checkin a full version of the project and used svn_load_dirs.pl to import them into a new svn repository.

https://netcodeman.blogspot.com/2011/01/converting-from-starteam-to-subversion.html?showComment=1506429228614#c7145074297097582572

https://stackoverflow.com/users/618865/quinn-bailey <= This guy has done conversions before and written some fixes. May be of help.

https://www.openmakesoftware.com/svn-importer-converting-from-borland-starteam/

has some interesting comments along these lines. I also know that the SVN Importer has issues importing revisions with more than one label. I've heard there was a version of SVN Importer that could get around this, but can't seem to find it yet.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top