Size: 2783
Comment: not finished yet
|
Size: 3808
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
= Project Proposal = | = Command Server Project Proposal = |
Line 7: | Line 7: |
* '''Background''': I'm a Computer Science and Mathematics undergraduate in the Open University of Israel. <<BR>><<BR>>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. <<BR>>Since then I've been following Mercurial looking for opportunities to give back. GSoC looks like a great one. <<BR>><<BR>>Most of my programming experience is in C++. 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.<<BR>> | * '''Background''': I'm a Computer Science and Mathematics undergraduate in the Open University of Israel. <<BR>><<BR>>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. <<BR>>Since then I've been following Mercurial looking for opportunities to give back. GSoC looks like a great one. <<BR>><<BR>>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.<<BR>> |
Line 11: | Line 11: |
* As stated above, improving performance. | * As stated above, improving performance (saving process startup time, cache the repository object). |
Line 17: | Line 17: |
* A sample client that communicates with the server. | * A sample client. |
Line 19: | Line 19: |
* '''Project details''': soon to come. * '''Project schedule''': soon to come. |
* '''Project details''': todo. * '''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 with the existing test suite. || ||<style="vertical-align: top; text-align: left;">August 30th || Project ends. Submit code to Google. || |
Command Server 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.
- As stated above, improving performance (saving process startup time, cache the repository object).
Deliverables:
- A functioning server.
- A sample client.
- Make the test suite pass while using the server rather than talking to hg directly.
Project details: todo.
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 with 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.