SharpFossil - Fossil Windows GUI and C# Library
SharpFossil - Fossil Windows GUI and C# Library
Not logged in

Using Fossil with a Windows GUI

A while ago I came across Fossil, a distributed version control system by D. Richard Hipp, the author of SQLite.

Basically I was searching for a bugtracking system which could be coupled with the subversion server we use in the company I work for. What I found was far better. A version control system that not only provides almost anything I need for my daily work but also has an integrated bugtracking system and to make it nearly perfect, a small but working wiki for versioned documentation of the projects. Wow!

I started using Fossil in addition to our subversion server to keep track of the projects I work on. It was easy and the integrated bugtracking and wiki have been a great improvement for my work on those projects.

So what about moving all projects from subversion to Fossil? I made a proposal to my co-workers to completely switch over to Fossil. I provided the Fossil binary, granted them developer priviledges to the repositories and asked them to take a look.

And guess what their first question was:
I don't like the commandline. Is there something like TortoiseSVN or AnkhSVN for Fossil? I'd really like to have a GUI for working with Fossil, at best as a Visual Studio plugin.

That's where this project started. I see a lot of Windows developers shy away from using Fossil because of the commandline interface although Fossil could perfecly fit their needs beside all this GUI integration stuff.

The goal of the SharpFossil project is to create a C# wrapper around the Fossil DVCS. This wrapper may then be used to implement Fossil Windows GUIs like a TortoiseFossil or a Fossil Visual Studio integration with a SccProvider.

Part of this project is a demo application named WinFossil. WinFossil uses the SharpFossil classes to provide an Explorer like interface to Fossil repositories and checkouts. It is a Fossil GUI for Windows providing the commands of Fossil with a Windows user interface instead of the command line. See here for some screenshots. WinFossil offers some extensions to the commandline like moving/renaming or removing files not only in the repository but also in the file system, remembering the last checkouts or commit messages. Rightnow WinFossil is neither complete nor perfect regarding the user interface. It is a work in progress and any input is welcome.

If you find any bugs (I'm quite sure you will ;-) ) or have have suggestions for improvements, please use the tickets system to tell me.