Differences between revisions 2 and 3
Revision 2 as of 2011-04-02 17:27:08
Size: 2890
Editor: IdanKamara
Comment:
Revision 3 as of 2011-04-04 08:43:30
Size: 3833
Editor: IdanKamara
Comment: update schedule
Deletions are marked like this. Additions are marked like this.
Line 20: Line 20:
 * '''Project schedule''': soon to come.  * '''Project schedule''':
 ||<style="vertical-align: top; text-align: left;">April 26th - May 22rd || Familiarize myself with Mercurials command-line interface. <<BR>>Discuss with my mentor and the community to set up some goals for how the finished project should look like. ||
 ||<style="vertical-align: top; text-align: left;">May 23rd - July 10th || Finish the design after community comments and write it in a wiki page.<<BR>>Code the command server.<<BR>>Do necessary Mercurial internal modifications to support performance improvements. ||
 ||<style="vertical-align: top; text-align: left;">July 11th - July 15th || Mid-term evaluations. Continue coding. ||
 ||<style="vertical-align: top; text-align: left;">July 16th - August 15th || Finish last tasks in the command server.<<BR>>Write test cases.<<BR>>Integrate the command server to the existing test suite. ||
 ||<style="vertical-align: top; text-align: left;">August 30th || Project ends. Submit code to Google. ||

Project Proposal

  • Name: Idan Kamara

  • Contact: idankk86@gmail.com, idank on #mercurial

  • Background: I'm a Computer Science and Mathematics undergraduate in the Open University of Israel.

    My first meeting with Mercurial was in my previous work place. At the time I started working there, the development teams were using a (god forsaken) source control called StarTeam. I quickly grew tired of it and started looking for alternatives to take its place. Among the top DVCSs at the time, my absolute favorite was Mercurial due to its user-friendly approach, low learning curve, cross platform and a very open and helpful community.
    Since then I've been following Mercurial looking for opportunities to give back. GSoC looks like a great one.

    Most of my programming experience is in C++, Iv'e also done some Java and C# here and there. I've been using Python for a lot of small tasks the past couple of years but I've always wanted to see how a real application is written using it and in my opinion Mercurial is an excellent example of one.

  • Project title Command Server

  • Synopsis: 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.

  • Benefits to Mercurial

    • As stated above, improving performance (saving process startup time, cache the repository object).
      • It can also benefit regular users by having a small, fast client talk to the server directly.
    • Easier integration with Mercurial for programming languages other than Python.
    • Allow a remote repository to be queried without needing a local clone.
  • Deliverables:

    • A functioning server.
    • A sample client that communicates with the server.
    • Make the test suite pass while using the server rather than talking to hg directly.
  • Project details: soon to come.

  • Project schedule:

    April 26th - May 22rd

    Familiarize myself with Mercurials command-line interface.
    Discuss with my mentor and the community to set up some goals for how the finished project should look like.

    May 23rd - July 10th

    Finish the design after community comments and write it in a wiki page.
    Code the command server.
    Do necessary Mercurial internal modifications to support performance improvements.

    July 11th - July 15th

    Mid-term evaluations. Continue coding.

    July 16th - August 15th

    Finish last tasks in the command server.
    Write test cases.
    Integrate the command server to the existing test suite.

    August 30th

    Project ends. Submit code to Google.

  • Exams and other commitments: Due to summer vacations not overlapping with the US, I will still be in the middle of a semester. I'm only taking one course so I don't think it'll hamper my ability to successfully finish the project.

  • Other summer plans: I also plan on taking a 10 day vacation in early May. Since coding begins May 23rd I plan on putting more time before I go on vacation so I don't fall behind.

  • Post GSoC plans: I will gladly continue my involvement in Mercurial after GSoC. I've been following several open source projects through the years but never really got involved in any. I think Mercurial is a great opportunity for me due to my growing interest in Python and in open source software in general.

SummerOfCode/2011/IdanKamara (last edited 2013-08-29 12:34:47 by AugieFackler)