Subject: Re: GIT and SCC

From: Jan Hudec <[email-masked]>
Date: Sun, 16 Nov 2008 22:51:34 +0100

On Wed, Nov 05, 2008 at 14:38:25 -0500, Theodore Tso wrote:
> On Wed, Nov 05, 2008 at 09:23:55PM +0200, Martin Terreni wrote:
> > 
> > http://en.wikipedia.org/wiki/SCC_compliant
> > 
> > It is probably not much, but this is what I could find in a minute. many
> > VC system have a SCC complaint API (apart of the native). This protocol
> > was created by M$ is used by many systems so they are not bound to a
> > specific VC tool.
> 
> It's a closed-source, undocumented API that you can only get access to
> by signing a Microsoft NDA.   From the WinMerge API:
> 
> 	SCC API is closed API (no public documentation available) some
> 	IDE's (e.g. Visual Studio) use. There apparently have couple
> 	of reverse-engineered free implementations for SCC API. Status
> 	of those are unknown.
> 
> 	WARNING: Be very sure you are not submitting any code behing
> 	NDA for WinMerge. WinMerge is Open Source so it is not legal
> 	to do. And what is worse it would prevent anybody reading that
> 	code working with SCC (and perhaps also VCS) support.
> 

I don't really know what this interface is about, but:
 - For VS6 and newer, source control plugin can be implemented by creating
   a dll exporting particular set of controls. This is documented in help
   files that come with VS2005 SDK which is freely downloadable from M$ web,
   so I don't think that would be under NDA.
 - For VS2003 and newer (ie. the .NET based versions), plugins can be
   implemented for almost anything, including source control, by creating
   .net assembly exporting classes that implement some particular interfaces.
   These interfaces are documented in the abovementioned SDK, so again no NDA
   needed.
I actually started writing such plugin some months back, but since I can only
work on it at $work (don't have Windooze at ~, not to mention VS2005 license
-- the SDK is free to download, but requires full, non-express, studio) and
since it does not look like I could get them use Git at $work anytime soon,
I didn't work on it too much. Still I could share the basic skeleton and
the knowledge I have if somebody wanted to move that somewhere.

-- 
						 Jan 'Bulb' Hudec <[email-masked]>