Contents (updated: 04 May 2004).
1. Overview.
SCCBridge is a client/server solution designed to provide remote access to wide spectrum of version control systems. The client-side contains the library for communicating with the server and console application. The server-side is implemented as a web-service with the interface to an external version control system (repository). The published interface that is accompanied by documentation allows implementing bridges to many of existing version control systems. There is another ability - to implement web client programmatically, so, any user's application can take advantage of using of version control system. SCCBridge is faster than the Visual SourceSafe Explorer access (via FTP or another type of Internet connection) because of:
In contrast to existing solutions this solution does not implement its own version control system, but just allows using of existing systems through Internet. It provides also common interface for your applications to a version control system supported by the web service.
Both the server and the client are written in C# in Microsoft Visual Studio .NET. In the project is used library SharpZipLib created by Mike Krueger (for more info see http://www.icsharpcode.net/ ). The algorithm for text files comparing was taken from The Code Porject site, and was written by Shankar Pratap.
2. The supported features.
The current version supports following version control system operations:
The current version includes the client-side library for access to the web-service, console application, GUI client-side application, unit for integration in Visual Studio .NET 2003 and the web-service itself that works under IIS 5.0 (and higher) and two implementation of ISCCBridge interface. The first implementation is used for remote file system access that emulates restricted version control system. The second one is more useful and is used for access to Visual SourceSafe database. The bridge interface is implemented as open source part and is accompanied of documentation.
3. Upcoming features.
In the next versions of SCCBridge project the following features will be implemented:
4. How the system works.
As it is mentioned above, the project consists from two parts: client and server. The client-side deals with local files and folders. It is designed for synchronizing of all changes with the repository on the server-side. The server-side processes requests and communicates with the repository through ISCCBridge interface. The diagrams below (figure 1 and 2) demonstrate stages of the "check in" command execution on the both sides.
Figure 1. The client-side.
Figure 2. The server-side.