Advanced hgweb features
Short description: 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.
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.
Hgweb will have a so-called administration page, where users with enough rights can change what individual users can see and access: push/pull repositories, browse them. In addition to managing individual repositories, their creation will also be supported through the hgweb interface.
AJAX content loading
Several places of hgweb lack the support of dynamic content loading, most important they are lists (e.g. revisions list) with buttons "more", "less" and links to other list pages, and search results.
Better search (revsets syntax)
I will implement revsets syntax support in hgweb search, almost as it is in other parts of Mercurial UI. However, some heavy-weight functions won't be allowed due to DoS possibility (similar thing exists on e.g. BitBucket). Also, as mentioned in the previous point, the search will be dynamic.
At the current state of hgweb it doesn't allow selecting the code without line numbers. I will fix the issue without losing the distinction between adjacent lines. Also, if you give a link to a line/lines of code, they will be highlighted, so it would be much easier to say what the link points to exactly.
- Until June 17: digging into Mercurial internals for further knowledge of it
- June 17 - July 1: better file viewing (see above)
- July 1 - July 22: improving hgweb search capabilities (+dealing with security issues here)
- July 22 - July 29: start dynamic AJAX implantation to the interface OR deal with unexpected problems in implemented features (if there are any before mid-term evaluation)
- July 29 - August 12: complete AJAX things
- August 12 - September 16: hgweb administrative features (see above)
- September 16-23: tidying up code, finalizing it
I'm a second-year undergraduate student at Moscow Institute of Physics and Technology (Moscow, Russia), studying mostly Applied Mathematics and Computer Science. I have several hobby projects in different programming languages, including Python (actually, most of recent projects are in Python), Haskell, C#, R, different Java versions, HTML, have a bit of experience with different databases: SQLite, MS SQL and MongoDB. Public projects, sources of which are not lost, can be found at https://bitbucket.org/chersanya, and my website is http://aplavin.ru (quite small and in Russian). I have quite a long experience with Mercurial, which started several years ago, and now I'm becoming a power user of it.