GSoC/GCI Archive
Google Code-in 2014 Copyleft Games

HGBot: IRC Repo Metadata

completed by: Mayank Madan

mentors: Jon Neal, Arc Riley, Terri Oda, David Czech, AJ Williams, Amaury Medeiros

HGBot is a Python program that automates our Mercurial repository management, handles Mercurial authentication, and provides user interfaces such as IRC.

A previous GCI 2014 task added the REPOSITORY command which allows IRC users to edit the channels associated with a repository, but other repository metadata (description, contact name, etc) was not included in that task.

Modify the current REPOSITORY comand functionality to need an additional CHANNELS keyword (case insensitive), so eg /msg _hg REPOSITORY pysoy CHANNELS #CopyleftGames,#PySoy - and add a check that only administrator level users should be able to modify this.

Extend the current REPOSITORY command to support getting and setting a repository's contact and description (as stored in that repository's hgrc file) in the same way (eg, getting by anyone, setting by administrators only).

Using the REPOSITORY command on its own should list repositories, and REPOSITORY [repo_name] should return all data known for that repository.

Implementing this will require storing the filesystem path for each repository so the hgrc files can be accessed.

While working on this task you should join and remain in #CopyleftGames on Freenode to get help, feedback, and guidance from mentors and other developers. Code updates which may affect your work are also announced here as they happen.

When you've done, commit your work and post the resulting changeset url to this task.