I have experience with StarTeam and Subversion. I previously did a
StarTeam to ClearCase conversion and have a feeling that a StarTeam to
Subversion conversion would involve more or less the same stuff.
There is no StarTeam export or any tool that converts from StarTeam to
any other version control system. StarTeam's command line interface is
pretty sparse. For example, I couldn't find a way to find every
release of every file, and a way to export it into ClearCase. I simply
gave up in trying to convert over everything in StarTeam to ClearCase,
and instead, I went through what releases I was interested in, and
only converted over those releases.
It wasn't fun getting information out of StarTeam and putting it into
ClearCase. I first made a "tree" of the releases I was interested in,
mapped them to ClearCase, then wrote a program to checkout each of
those releases in age order and used a program called "citree" to
check them into ClearCase.
There is no "citree" program in Subversion, so I suspect you'll have
to create one yourself. The "citree" program first compares the
directory structure from the StarTeam checkout to my current
repository. If a directory was in my StarTeam repository, but not in
my new repository, citree created the directory. If the directory is
not in my StarTeam folder, but is in my repository, the citree program
removed the directory. After syncing the directory structures, citree
does the same for the files. In Unix, the citree program took four
find commands:
1). Find all directories in your StarTeam checkout: For each
directory, does that directory currently exist in the repository
(using the "-d" test)? If no, create the directory in your repository.
2). Find all directories in your new repository, if a directory exists
in your repository that doesn't exist in the StarTeam repository,
delete it from your new repository.
3). Find all files in your StarTeam checkout: For each file, see if it
exists in your new repository. If it doesn't, copy it over and add it.
If it does exist in your new repository, see if it is different (using
the "cmp" command). If the two files are different, copy the
Subversion file over to your new repository.
4). Find all files in your new repository. If the file is in your new
repository, but not in StarTeam's repository, delete it from your new
repository.
The whole program was:
For each release you want in StarTeam to be placed in your new repository:
1). Checkout the file from your StarTeam repository
2). Checkout into another directory, your new repository
3). Run your "citree" program
4). Commit the changes into your new repository.
Of course, the easiest thing to do is to simply keep StarTeam for
archival purposes, and start a new in Subversion. That's what we are
doing this time instead of converting from RCS to Subversion. We only
checked out the latest in RCS, and only imported that into Subversion.
On 7/12/05, Gábor Szabó <szabgab@gmail.com> wrote:
> Are there tools around helping the StartTeam to Subversion migration ?
> Does anyone here have experience with it ?
> What are the issues ?
>
> Gabor
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
--
--
David Weintraub
qazwart@gmail.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Jul 13 04:05:55 2005