Version 0 of GSoC Idea: Fossil Tk Client

Updated 2011-03-11 03:49:50 by AK

Fossil Tk Client

  • Mentor: Steve Landers
  • Difficulty: Medium

The Fossil distributed software configuration management system is used in many Tcl-based projects. It's ease of installation and use, and comprehensive features making it an attractive alternative to the more complex systems like Git and Mercurial.

Although Fossil comes with a built-in web interface, the objective of this project is to make a Tk-based GUI interface, and in doing so kill several birds with the one stone (so to speak)

  • a Tk GUI that could be more feature-rich than the web interface
  • SSL support (via TLS)
  • a Fossil Tcl extension based on the Fossil source but wrapped with Critcl to produce a scriptable fossil library
  • Starkit deployment as a single file executable

One of the existing Tk GUI's (such as TkCVS/TkSVN or GiTk) should be used as a basis, and the first part of the project would be a review of these programs and an assessment of their suitability.

SSL support already exists in the Fossil server and Unix clients, but building the SSL-enabled Fossil client on Windows has proven problematic. So this project, if successful, is likely to achieve wide visibility amongst the Windows Fossil users.

The client could include a macro facility (scriptable in Tcl, of course) that would allow new functionality to be added by aggregating existing Fossil features.

Benefits for student: Gain experience in reviewing and evaluating existing programs, learn about Tk programming and User Interface and User Interaction Design, learn about Distributed Software Configuration Management, learn about interfacing to C libraries via Critcl, learn about simple crypto concepts via TLS, learn about Starkit deployment.

Benefits for Tcl: Provide an improved GUI interface on all platforms for the many Tcl projects already using Fossil, and an easy to deploy SSL-enabled client on Windows in particular.