Differences between revisions 2 and 7 (spanning 5 versions)
Revision 2 as of 2011-03-11 23:37:53
Size: 1452
Editor: mpm
Comment:
Revision 7 as of 2011-03-30 20:06:40
Size: 1794
Editor: WagnerBruna
Comment: point to previous command server implementation
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
Mercurial's built-in help in quite good, but could be better. Here are some things that could be done: Mercurial's built-in help is quite good, but could be better. Here are some things that could be done:
Line 39: Line 39:
[[Subrepos]] are a rapidly improving feature of Mercurial. [[Subrepository|Subrepositories]] are a rapidly improving feature of Mercurial.
Line 43: Line 43:

== Command server ==

Mercurial's primary stable API is its command line interface. Creating a tool and library to communicate with this API over a pipe or a socket will help improve performance for third-party tools that use Mercurial. ([[https://bitbucket.org/wbruna/hgrpc/|here]] is a previous incomplete effort)

GSoC Project Ideas for 2011

Sample project ideas for GSoC students

1. Improved built-in help

Mercurial's built-in help is quite good, but could be better. Here are some things that could be done:

  • Improve HTML rendering in hgweb view (see here)

  • improve crosslinking between help topics
  • migrate remaining contents from manpages into built-in help
  • add example usage to verbose sections in help
  • improve the glossary

2. Advanced Hgweb support

Our web interface is very handy, but there are a number of features that could be improved:

  • Add functions and conditionals to the templating language
  • Add basic AJAX functionality to make history browsing more dynamic
  • Add some basic web admin functionality

3. Performance tuning

Mercurial is fast but could always be faster. Possible areas include:

  • Optimizing startup performance
  • Optimizing revlog parsing and indexing with a C index class extension
  • Improving performance of the status command
  • Eliminating unnecessary checks of unknown files in merge/update
  • Optimizing performance on Windows

4. Subrepo support

Subrepositories are a rapidly improving feature of Mercurial.

  • Improved support for SVN and Git repo types
  • Addition of other repo types

5. Command server

Mercurial's primary stable API is its command line interface. Creating a tool and library to communicate with this API over a pipe or a socket will help improve performance for third-party tools that use Mercurial. (here is a previous incomplete effort)

6. Other ideas?

Come talk to us on IRC.


CategoryGsoc

SummerOfCode/Ideas2011 (last edited 2011-03-30 20:06:40 by WagnerBruna)