Migrate from StarTeam to Subversion

70 views
Skip to first unread message

Mark Rutz

unread,
Feb 1, 2021, 2:21:19 PM2/1/21
to us...@subversion.apache.org

Hello,

 

Does anyone have procedures or tools for converting Micro Focus StarTeam repositories to Subversion?  We would like to convert the main branch with history for each repository.  The team is small enough there is no need to port the existing permissions scheme, etc.  The branches can be left for cold storage, as I don’t expect them to be needed by any of the developers going forward.  We have a few perpetual licenses for StarTeam to keep it in the attic just in case.

 

I’m aware of the svn-importer tool from Polarion (https://polarion.plm.automation.siemens.com/products/svn/svn_importer), but as far as I know that hasn’t been updated since 2011.  I was hoping to find something more current.  Recently StarTeam added interfaces to work with Git, but I have yet to see a way to use that angle for the conversion either.

 

Thanks in advance for any recommended strategies and tools.

 

Mark Rutz
Test Engineering Manager
Comtech Mobile Datacom Corporation
(240) 686-3362 (w)
(202) 843-4678 (c)

 

NOTICE TO RECIPIENT: This email, including attachments, may contain information which is confidential, proprietary, attorney-client privileged and / or controlled under U.S. export laws and regulations and may be restricted from disclosure by applicable State and Federal law. Nothing in this email shall create any legal binding agreement between the parties unless expressly stated herein and provided by an authorized representative of Comtech Telecommunications Corp. or its subsidiaries. If you are not the intended recipient of this message, be advised that any dissemination, distribution, or use of the contents of this message is strictly prohibited. If you received this message in error, please notify us immediately by return email and permanently delete all copies of the original email and any attached documentation from any computer or other media.

Nathan Hartman

unread,
Feb 1, 2021, 3:59:02 PM2/1/21
to Mark Rutz, us...@subversion.apache.org
On Mon, Feb 1, 2021 at 2:21 PM Mark Rutz <mark...@comtechmobile.com> wrote:

Hello,

 

Does anyone have procedures or tools for converting Micro Focus StarTeam repositories to Subversion?  We would like to convert the main branch with history for each repository.  The team is small enough there is no need to port the existing permissions scheme, etc.  The branches can be left for cold storage, as I don’t expect them to be needed by any of the developers going forward.  We have a few perpetual licenses for StarTeam to keep it in the attic just in case.

 

I’m aware of the svn-importer tool from Polarion (https://polarion.plm.automation.siemens.com/products/svn/svn_importer), but as far as I know that hasn’t been updated since 2011.  I was hoping to find something more current.  Recently StarTeam added interfaces to work with Git, but I have yet to see a way to use that angle for the conversion either.

 

Thanks in advance for any recommended strategies and tools


Hi Mark,

With the caveat that I haven't worked with StarTeam nor the above 
svn-importer tool:

Since the svn-importer tool is no-cost and claims to do the trick, 
that is the first avenue I would investigate, even though the tool 
appears not to have been updated in a while. If it can migrate the 
data to Subversion successfully, even if it generates an older 
Subversion format, you should be able to then use Subversion to update 
the data format to the latest.

If that avenue doesn't get the job done for whatever reason, I would 
then check whether StarTeam can export a dumpstream that Subversion 
can import directly (though I think this is unlikely).

If not, then StarTeam's interfaces to Git that you mentioned may be 
useful as an intermediate step. Occasionally we get questions about 
how to migrate from Git to Subversion. You may want to search the list 
archives, see [1], for such questions. We just recently had a question 
about Git to Subversion migration, see [2]. I'll mention here that Git 
has a git-svn bridge that can push a linear sequence of git commits to 
Subversion. Note that you may have to do some manipulation of the 
intermediate git repository's history to get it into a state that will 
push cleanly to a Subversion repository. This might take a little 
experimentation, or it might just work. The git-svn bridge is part of 
Git; see [3] and [4].

It's possible others will chime in with more thoughts/experiences.

Feel free to ask more questions if you need to, and it would be great 
if you could circle back later and tell us what ultimately did the 
trick. That will help others who have the same question in the future.

Cheers,
Nathan

Mark Rutz

unread,
Feb 1, 2021, 6:04:28 PM2/1/21
to Nathan Hartman, us...@subversion.apache.org

Nathan,

 

Thank you for the very detailed response.  I will look into these.

 

Much appreciated!

 

 

From: Nathan Hartman <hartman...@gmail.com>
Sent: Monday, February 1, 2021 3:58 PM
To: Mark Rutz <mark...@comtechmobile.com>
Cc: us...@subversion.apache.org
Subject: Re: Migrate from StarTeam to Subversion

 

 

WARNING: External Email: Exercise Caution

NOTICE TO RECIPIENT: This email, including attachments, may contain information which is confidential, proprietary, attorney-client privileged and / or controlled under U.S. export laws and regulations and may be restricted from disclosure by applicable State and Federal law. Nothing in this email shall create any legal binding agreement between the parties unless expressly stated herein and provided by an authorized representative of Comtech Telecommunications Corp. or its subsidiaries. If you are not the intended recipient of this message, be advised that any dissemination, distribution, or use of the contents of this message is strictly prohibited. If you received this message in error, please notify us immediately by return email and permanently delete all copies of the original email and any attached documentation from any computer or other media.

Daniel Shahaf

unread,
Feb 3, 2021, 5:57:44 AM2/3/21
to Mark Rutz, us...@subversion.apache.org
Mark Rutz wrote on Mon, 01 Feb 2021 19:21 +00:00:
> Does anyone have procedures or tools for converting Micro Focus
> StarTeam repositories to Subversion? We would like to convert the main
> branch with history for each repository.

For converting a single branch from any external VCS, the fallback
strategy (if no preëxisting tool is available) is a plain old "checkout
each commit in the history in sequence and re-commit it" loop. I hope
you won't need to resort to it in your case, but I don't think we have a
write-up of it, so I'll outline it here.

The basic idea is (using svn syntax for both the old and new
VCS's, since that's the only syntax everyone on this list is
guaranteed to speak):

% mkdir wc
% $oldvcs checkout -r0 $oldURL wc
% svnadmin create foo
% printf '#!/bin/sh\ntrue\n' > foo/hooks/pre-revprop-change
% chmod +x foo/hooks/pre-revprop-change
% svn co file://$PWD/foo wc --force # --force suppresses a "Directory not empty" error
% cd wc
% # At this point, wc/ is a working copy of both $oldvcs and svn, both of them at r0 (an empty tree).
% i=0
% while [ $i -le `$oldvcs info --show-item=revision ./` ]; do
svn cleanup && # purge pristines
$oldvcs up -r $((++i)) &&
svn-addremove &&
svn revert -R ./.$oldvcs &&
svn ci -m "Re-committing r$i" &&
for propname in svn:date svn:author ; do svn ps --revprop -r $i -- $propname "$($oldvcs pg --revprop -r $i -- $propname)" ; done
done
%

where svn-addremove(1) should be a script that does «svn add»
for all files that are '?' in `svn status` (= unversioned) and «svn rm»
for all files that are '!' in `svn status` (= missing), like the
eponymous hg(1) subcommand. There's an implementation in
https://svn.apache.org/repos/asf/subversion/branches/addremove, but I
don't know its status, and in any case it may be easier to find a script
implementation or write one.

There is no requirement to use file:// syntax; I only did that to make
the example self-contained.

Cheers,

Daniel
Reply all
Reply to author
Forward
0 new messages