GSoC/GCI Archive
Google Summer of Code 2013


Web Page:

Mailing List:

Mercurial is a free, distributed version control system (DVCS). It efficiently handles projects of any size and offers an easy and intuitive interface.

Mercurial is implemented mostly in Python, with a few parts in C for extra speed. It aims for a consistent and clear interface, without sacrificing functionality nor speed.

Free software development attracts a wide range of participants from around the world, but historically women have been very under-represented. Following the Python Software Foundation's efforts, this year Mercurial is actively encouraging more women to apply. Read more about Python's diversity efforts.


  • Advanced hgweb features Hgweb, through being nice and convenient, lacks some important features. Most notably, they are no administrative functions, whole page updates instead of dynamic AJAX loading, and small search capabilities. Improving this behavior is what I'm going to do as the project.
  • C implementation of command server API The purpose of this project is to create a C library that will communicate with mercurial command server. Until now there are some libraries written in other languages like Python, Java, Php, Ruby, etc. Now it's time to create a library for C language. There is no code written in C for this library but the existence of other languages libraries will be a good point to start. At the end of the summer there will be an API that will be used by all C and C++ users.
  • Improvement of record API and User Interface Being able to select parts of the existing changes, with hunk or greater granularity, in an interactive way, can improve the use of commands and extensions that take changes, such as commit, amend and import.