Vss2Git

394 views
Skip to first unread message

Trevor

unread,
Apr 22, 2009, 10:19:25 PM4/22/09
to msysGit
To the few people that might care,

I released a Microsoft Visual SourceSafe to Git migration tool today:

http://code.google.com/p/vss2git/

It should be useful for anyone unfortunate enough to still be using
SourceSafe. It could also provide a basis for creating migration tools
for other SCM systems, especially those that track revisions per file
instead of tracking changesets/commits.

-Trevor

Johannes Schindelin

unread,
Apr 23, 2009, 5:38:44 AM4/23/09
to Trevor, msysGit
Hi,

On Wed, 22 Apr 2009, Trevor wrote:

> To the few people that might care,
>
> I released a Microsoft Visual SourceSafe to Git migration tool today:
>
> http://code.google.com/p/vss2git/

I added it to both the msysGit and the Git Wiki (for the record, everybody
can edit the latter Wiki).

If it wasn't written in C#, I could even be talked into including it into
msysGit...

Ciao,
Dscho

Frank Li

unread,
Apr 23, 2009, 10:04:04 AM4/23/09
to Johannes....@gmx.de, Trevor, msysGit
Great!
Is it possible support clearcase to git?
 
best regards
Frank Li

2009/4/23 Johannes Schindelin <Johannes....@gmx.de>

Robin Rosenberg

unread,
Apr 23, 2009, 3:35:04 PM4/23/09
to msy...@googlegroups.com, lzn...@gmail.com, Johannes....@gmx.de, Trevor
torsdag 23 april 2009 16:04:04 skrev Frank Li:
> Great!
> Is it possible support clearcase to git?

I have scripts, so it's possible. Unfortunately, it's not clear whether I can release them or not..., so this post may just annoy you.

Using OSS is becoming tolerable there, but contributing is less obvious. The convert history, including simple branch detection, but not merge plus a marvelous ccexportcommit (like cvsexportcommit, but obviously makes use of rename detection.). Conversion to git is slow as hell, as everhing else in clearcase, but manageable when run incrementally on moderate size vobs.

I think the wiki has references to scripts for UCM import.

-- robin

Sitaram Chamarty

unread,
Apr 26, 2009, 7:58:15 AM4/26/09
to msy...@googlegroups.com

And for those even fewer people who need to do this on a
Unix box of some kind, a not too verbose howto is at
http://sitaramc.github.com/other-stuff/vss2git.html

Dan Savilonis

unread,
Apr 29, 2009, 1:00:07 PM4/29/09
to msysGit
I agree it's possible, but painful. My scripts work because we have a
(very) thin proprietary layer that provides some level of atomicity to
checkins, which means I don't have to rely on Clearcase timestamps and
comments to figure out what a 'commit' is. And yes, it's impossibly
slow. 100 commits an hour would be good for our setup.

Interestingly, Perforce's comparison of Clearcase recommends that you
don't even bother trying to convert from Clearcase because it's so
slow and painful.

Dan

Robin Rosenberg

unread,
Apr 29, 2009, 8:08:35 PM4/29/09
to msy...@googlegroups.com, d...@n-cube.org
onsdag 29 april 2009 19:00:07 skrev Dan Savilonis:
>
> I agree it's possible, but painful. My scripts work because we have a
> (very) thin proprietary layer that provides some level of atomicity to
> checkins, which means I don't have to rely on Clearcase timestamps and
> comments to figure out what a 'commit' is. And yes, it's impossibly
> slow. 100 commits an hour would be good for our setup.

It very much depends on the size of your VOB's. I run similar figures, a bit higher
10-20 s/commit, but that may be due to smaller VOB or faster servers. Relying on the
timestamps is mostly ok, but I lose on adding files since the files are added
and checked in before they become visible.

> Interestingly, Perforce's comparison of Clearcase recommends that you
> don't even bother trying to convert from Clearcase because it's so
> slow and painful.

Yep. With git you have the graft option so you could do legacy conversion
later and graft it in (and maybe filter-branch) it when finished. If you
manage to make sense of the labels and branches in a Git context.

I'm just stepping through history. A smarter way a'ls cvs2git might be able
to produce much better numbers by doing the "view" logic itself. A big
problem is that converting CC history to git history needs to assume a lot
about config specs, that probably isn't true. People have very messy
config specs and, if you don't know what they look like you cannot make
a good conversion.

And if you do know, you will probably consider it impossible.

-- robin

Trevor

unread,
May 3, 2009, 2:25:34 PM5/3/09
to msysGit
Out of curiosity, does VSS run on anything except Windows? That's one
reason I wrote vss2git in C#. (The others concern vastly higher
productivity compared to C/C++, especially when making a GUI. :-p
Just my opinion though, so no need for argument.)

Anyway, I did run the Mono Migration Analyzer (http://www.mono-
project.com/MoMA) on vss2git and it passed. Beyond that, I wasn't sure
how to run it with Mono instead of .NET on Windows, and didn't have
time to copy everything over to a Linux box and set up VNC, so I can't
say for sure it will run.

-Trevor


On Apr 26, 5:58 am, Sitaram Chamarty <sitar...@gmail.com> wrote:

Robin Rosenberg

unread,
May 3, 2009, 3:52:47 PM5/3/09
to msy...@googlegroups.com, tre...@scurrilous.com
söndag 03 maj 2009 20:25:34 skrev Trevor:
>
> Out of curiosity, does VSS run on anything except Windows? That's one
> reason I wrote vss2git in C#. (The others concern vastly higher
> productivity compared to C/C++, especially when making a GUI. :-p
> Just my opinion though, so no need for argument.)

Runs fine with Wine. I even did a viewcv-like thing that I've only ever
run under Apache on Linux. There is (was?) an official port for Solaris
from a company called Mainsoft.

-- robin

Marius Storm-Olsen

unread,
May 4, 2009, 1:51:08 AM5/4/09
to tre...@scurrilous.com, msysGit
[Please don't top-post, see http://tools.ietf.org/html/rfc1855]

Trevor said the following on 03.05.2009 20:25:


> Out of curiosity, does VSS run on anything except Windows? That's
> one reason I wrote vss2git in C#. (The others concern vastly higher
> productivity compared to C/C++, especially when making a GUI. :-p
> Just my opinion though, so no need for argument.)

<Marketing hat>
Hah! When you say something like that, you know you're stirring
up emotions ;-) Just thought I would point you in the direction
of Qt (C++), which you _vastly_ speed up your development,
_especially_ when making a GUI. Making a GUI in C# is crap,
making a GUI in Qt is fun :-)

http://www.qtsoftware.com/products/developer-tools

Just take a quick look at the 1m 34sec Qt Creator introduction,
and pay attention to the GUI part (very short :-). Native speed,
native GUIs, and more power to the developer.

And yes, I use Qt Creator to even develop git, giving me full
code completion and easy navigation.
</Marketing hat>

You knew it would have to come ;-D

--
.marius

RFC1855: "If you are sending a reply to a message or a posting be sure
you summarize the original at the top of the message, or include just
enough text of the original to give a context."

Reply all
Reply to author
Forward
0 new messages