A half year ago I had started a new project that allows accessing to SourceSafe repository remotely. Than I've changed my mind and I've decided to implement more common interface for version control systems (not only for SourceSafe). The main reason for creating of such kind project was that we had need in access to remote version control system, but all ports was closed by our ISP. There were several opened ports (25, 110 and 80). So, we even couldn't use the CVS. At that time an idea about some bridge that allows accessing to version control system (actually at that moment we have need in SourceSafe) as a web service (via HTTP) was born.
Before creating own system I've investigated the market and have found several more or less acceptable solutions:
- SourceOffsite - of course the best existing at that moment solution, but it also used some specified TCP/IP port, so we were not be able to use it due to the same reason as we were not be able to use CVS. More over, their prices were the highest for such kind of products.
- Than I had found VssConnect - also not a worst solution, but lack of documentation and they did not support (at that moment) some useful SourceSafe functionality. And that is more important they also used some TCP/IP port. :-( By the way, their prices are more reasonable.
- After that I had started to look for a product, which is implemented as web service. And I've found one: VSS.Net. But they also do not provide some SourceSafe functionality: sharing and branching files, retrieving of history, pinning/unpinning files and etc. And they do not implement integration in VS IDE. The price of their product a bit higher then the previous one, but still acceptable.
When I had studied these solutions, I've decided to create my own solution. And, since for me this was not a main job, but just an opportunity to study something new in practice, so, I've decided to create this solution as a freeware .NET product.
At the 24 November 2003 I've published the first fully functional version that can be integrated into Visual Studio .NET 2003 IDE. So, my task was done, but right now I see a lot of places where I can improve performance of my product, but I have a doubt: do somebody need in this project at all?