{"thread":{"id":"29809","subject":"GSoC 2012 application process","startedAt":"2012-03-02T09:11:14Z","lastAt":"2012-03-11T22:30:55Z","messageCount":20,"participants":["Jeff King","Nguyen Thai Ngoc Duy","Junio C Hamano","Jakub Narebski","Thomas Rast","Matthieu Moy","Shawn Pearce"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"185893","messageId":"20120302091114.GA3984@sigill.intra.peff.net","threadId":"29809","inReplyTo":null,"subject":"GSoC 2012 application process","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-03-02T09:11:14Z","receivedAt":"2012-03-02T09:11:14Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"The Google Summer of Code 2012 application process is underway. We have\nparticipated for the past 5 years, so I assume we want to do so again.\n\nIf you don't know what GSoC is, read this:\n\n  https://code.google.com/soc/\n\nI've volunteered to be the organization admin again, but I would be\nhappy to step aside if somebody else wants to do it. I've started things\noff by posting a draft of our application and starting a wiki page for\nproject ideas:\n\n  https://github.com/peff/git/wiki/SoC-2012-Application\n\n  https://github.com/peff/git/wiki/SoC-2012-Ideas\n\nThe application is due March 9th (next Friday).\n\nAt this point, we need:\n\n  1. Somebody to volunteer as a backup admin.\n\n  2. Project ideas to be added to the ideas page.\n\n  3. Volunteers to mentor students.  Our criteria for mentors in the\n     past has been to accept only those who have a history of\n     contributing to git. But if you have an idea for a project and\n     don't feel that you would be capable of mentoring, please feel free\n     to start a discussion on the list. You may interest other people\n     who can volunteer to mentor for it.\n\n  4. People to read over the application and suggest improvements. It's\n     adapted from last year's application. The general meaning should be\n     the same, though I did bring it up to date as well clean up a few\n     awkward bits.\n\nIn the past, we've used the kernel.org wiki for developing the SoC\nmaterials. However, it's still not editable, and I don't think we have a\nplan for what the \"new\" git wiki will be. I've put things up on this\nGitHub wiki in the meantime; they can be migrated to an official wiki if\nand when that happens.\n\nI think you'll need a GitHub login to edit the wiki pages via the web\ninterface. You can also clone it here:\n\n  git://github.com/peff/git.wiki.git\n\nand I will be happy to take patches on the list.\n\n-Peff\n"},{"id":"185926","messageId":"CACsJy8CVNS3Ar=TKYbyy7mTxF7G2rny_CSZrU9m+jmY=N0=DNg@mail.gmail.com","threadId":"29809","inReplyTo":"20120302091114.GA3984@sigill.intra.peff.net","subject":"Re: GSoC 2012 application process","fromName":"Nguyen Thai Ngoc Duy","fromEmail":"pclouds@gmail.com","sentAt":"2012-03-02T14:52:12Z","receivedAt":"2012-03-02T14:52:12Z","isPatch":false,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"On Fri, Mar 2, 2012 at 4:11 PM, Jeff King <peff@peff.net> wrote:\n> At this point, we need:\n>\n>  2. Project ideas to be added to the ideas page.\n\nThe master index to speed up pack access by avoid going through all\npack indices one by one when there are a lot of packs. If building the\nmaster index is cheap, it could take \"repack -ad\"'s position in \"gc\n--auto\" and delay repacking longer. I think this should be easy to do,\njust not sure big enough for gsoc.\n-- \nDuy\n"},{"id":"185947","messageId":"7vipimbro0.fsf@alter.siamese.dyndns.org","threadId":"29809","inReplyTo":"20120302091114.GA3984@sigill.intra.peff.net","subject":"Re: GSoC 2012 application process","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-03-02T21:48:31Z","receivedAt":"2012-03-02T21:48:31Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> ... a wiki page for\n> project ideas:\n>\n>   https://github.com/peff/git/wiki/SoC-2012-Application\n>   https://github.com/peff/git/wiki/SoC-2012-Ideas\n>\n> The application is due March 9th (next Friday).\n\nThanks for getting the ball rolling.\n\nOne thing unrelated to the proposal I have been wondering about was how\nwell our release cycles mesh with the GSoC timeline.\n\nComparing the GSoC timeline and the Git Calendar:\n\n    http://www.google-melange.com/gsoc/events/google/gsoc2012\n    http://tinyurl.com/gitcal\n\nSome basics to consider:\n\n - Typically one cycle of our development lasts for 8 to 10 weeks, and at\n   around its 5th or 6th week, the major changes for the next release are\n   expected to be more or less ready.\n\n - As we have about 20 weeks between the beginning of post-1.7.10 cycle\n   and pencils-down time for GSoC, and also people tend to slow down or\n   stop late June to early July for summer holidays, I am planning to make\n   these cycles last a bit longer for 10 weeks.\n\nThe way I envision the experience for this year's students would go are\nlike this:\n\n * GSoC student proposal acceptance (April 23rd)\n   The students are expected to start \"bonding\" with the community.\n\n   This is at the beginning of week #4 of the post-1.7.10 cycle.  Students\n   have a chance to observe and learn how a change is proposed, its design\n   debated and patchset polished from beginning to end, even if they wait\n   before joining the mailing list until this date.\n\n * GSoC student first day of business (May 21st)\n   The students are expected to start coding.\n\n   This is at the beginning of week #8 of the post-1.7.10 cycle,\n   1.7.11-rc0 should have been tagged several days before, and 1.7.11-rc1\n   is scheduled to be tagged in a few days.  Once we hit this point, we\n   usually do not queue anything large even to 'pu' until the final\n   release to encourage people to concentrate on the upcoming release,\n   which may be OK for the first couple of weeks for GSoC students (they\n   won't have anything to show that early).\n\n   The final batches of large changes that were previously discussed and\n   polished would still be graduating to 'master', whose earlier parts of\n   lifecycle the students may not have seen, but smaller and more obvious\n   changes proposed after they joined the community would go their full\n   lifecycle from 'pu' thru 'next' down to 'master', and the students can\n   learn from these topics how the development process works.\n\n * Beginning of post 1.7.11 cycle (June 11th)\n   The students would be working furiously for midterm.\n\n   At this point, the students have worked for 3 weeks with their mentors.\n   Good students may at least have design sketches ready to be presented\n   at this point, if not a working code.\n\n * GSoC midterm evaluation (July 9th)\n\n   This is at the beginning of week #5 of the post-1.7.11 cycle.  The\n   student's changes should at be ready for 'pu' by this time, or there is\n   no chance of them being in the upcoming release.\n\n   The students would have had 7 weeks to work up to this point, and they\n   have 4 more weeks to polish their work to 'next' and to 'master' until\n   1.7.12-rc1, and another 2 weeks to further fix late bugs in 'master'.\n\n * GSoC pencils down (Aug 20th)\n\n   This is at the end of week #10 of the post-1.7.11 cycle, and 1.7.12\n   should be already out the day before.\n\n\nOur release cycle was never scheduled around GSoC timeline for the past\nGSoC students, so I do not know what effect, if any, our pre-release\nfreeze period had on our past students' work (I would appreciate hearing\nfrom past student about their experiences).\n\nIn any case, it seems that they coincide fairly well for this year's\nstudents.\n\nBy the way, I also considered splitting the 20-week period into two and a\nhalf cycles, coinciding -rc1 of the third cycle after the upcoming 1.7.10\nrelease and GSoC pencils down date. It would make the student success\ncriteria \"Is it in 'master'?\" instead of \"Is it in a release?\", but the\noverall schedule did not work as well as the above.\n"},{"id":"185955","messageId":"20120303000930.GA32585@sigill.intra.peff.net","threadId":"29809","inReplyTo":"7vipimbro0.fsf@alter.siamese.dyndns.org","subject":"Re: GSoC 2012 application process","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-03-03T00:09:30Z","receivedAt":"2012-03-03T00:09:30Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Mar 02, 2012 at 01:48:31PM -0800, Junio C Hamano wrote:\n\n> One thing unrelated to the proposal I have been wondering about was how\n> well our release cycles mesh with the GSoC timeline.\n> [...]\n> In any case, it seems that they coincide fairly well for this year's\n> students.\n\nThanks for a thorough analysis. This isn't something we really thought\ntoo much about in years past (and it seems like you have been paying\nmore attention to the scheduling in general this past year, or at least\ncommunicating more openly about). So given that the schedule coincides\nreasonably well, I think it make sense to consider this a \"pilot\" year,\nand to make a mental note to talk post-GSoC about how the schedule\nworked (or didn't work).\n\nPart of me thinks that no matter how much schedule planning we do,\nstudents will always go their own and deliver work in fits and starts.\nIt's their nature (and I say that as somebody who managed to be a\nstudent for 24 consecutive years :) ).\n\n> By the way, I also considered splitting the 20-week period into two and a\n> half cycles, coinciding -rc1 of the third cycle after the upcoming 1.7.10\n> release and GSoC pencils down date. It would make the student success\n> criteria \"Is it in 'master'?\" instead of \"Is it in a release?\", but the\n> overall schedule did not work as well as the above.\n\nActually, we have been pretty lenient with student success in the past.\nMany projects have been marked successful even if their code as not yet\nin master, and in many cases never made it.\n\nI think part of that is because we are often over-ambitious with our\nprojects, and the mentors and students realize near the end that the\nproject is much large or more difficult than originally realized. To\nsome degree that is a good thing, as it means students are working on\ncool, interesting things that haven't been done before. But it may also\nbe worth making an effort to split ambitious projects into bite-sized\nchunks. Even if step 3 doesn't make it in, steps 1 and 2 might end up as\na good project in themselves, and that is much better than the student\ncontributing nothing.\n\nIn some cases, too, the student pushes forward thinking on a subject\namong the project members. The rev-cache code did not end up getting\nmerged. But I'm not sure I would consider it a failure. It was an\ninteresting experiment, and I think ultimately the complexity tradeoff\nwas a bit distasteful. However, the negative result and the experience\ngained by the community were still worthwhile.\n\n-Peff\n"},{"id":"186012","messageId":"1330809281-25774-1-git-send-email-jnareb@gmail.com","threadId":"29809","inReplyTo":"20120302091114.GA3984@sigill.intra.peff.net","subject":"[git wiki PATCH] \"Modernizing and expanding Git.pm\" project","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2012-03-03T21:14:41Z","receivedAt":"2012-03-03T21:14:41Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"---\nI'm not sure if my Markdown is entirely correct.\n\n SoC-2012-Ideas.md |   41 +++++++++++++++++++++++++++++++++++++++++\n 1 files changed, 41 insertions(+), 0 deletions(-)\n\ndiff --git a/SoC-2012-Ideas.md b/SoC-2012-Ideas.md\nindex 02a8fc7..f56b601 100644\n--- a/SoC-2012-Ideas.md\n+++ b/SoC-2012-Ideas.md\n@@ -181,3 +181,44 @@ this project.\n \n Proposed by: Thomas Rast  \n Possible mentor(s): Thomas Rast\n+\n+Modernizing and expanding Git.pm\n+--------------------------------\n+\n+Git.pm was created in 2006 to make it easy to call git commands from\n+Perl scripts safely, in a portable way (including workarounds required\n+for ActiveState Perl on MS Windows).  Its error handling via exceptions\n+also comes from that year.\n+\n+Git.pm module uses Error (and Error::Simple) for its exception handling.\n+Unfortunately, while it might looked like a good choice in 2006, Error\n+module is deprecated:\n+\n+> WARNING\n+> -------\n+>\n+> Using the \"Error\" module is **no longer recommended** due to the\n+> black-magical nature of its syntactic sugar, which often tends to\n+> break. Its maintainers have stopped actively writing code that uses\n+> it, and discourage people from doing so. See the \"SEE ALSO\" section\n+> below for better recommendations.\n+\n+Nowadays the recommended solution to exception handling in Perl are\n+Try::Tiny (or TryCatch, but I don't think Git.pm would need this more\n+heavyweight module) for capturing and handling exceptions, and\n+Exception::Class (or Throwable, but that requires heavyweight Moose\n+object system) for throwing OO exceptions.\n+\n+The major goal would be to update Git.pm to modern Perl conventions,\n+amon others moving from Error / Error::Simple to Try::Tiny and\n+Exception::Class, preserving backwards compatibility, but perhaps also\n+adding a better interface and using it in git commands implemented in\n+Perl.\n+\n+Other optional goals would be to extend Git.pm, for example adding\n+Git::Config module which would read git configuration once like gitweb\n+does, or Git::Commit module for parsing commit objects, etc.\n+\n+Programming language: Perl  \n+Proposed by: Jakub Narębski  \n+Possible mentor(s): Jakub Narębski (?)\n-- \n1.7.9\n"},{"id":"186019","messageId":"20120303222347.GA29839@sigill.intra.peff.net","threadId":"29809","inReplyTo":"1330809281-25774-1-git-send-email-jnareb@gmail.com","subject":"Re: [git wiki PATCH] \"Modernizing and expanding Git.pm\" project","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-03-03T22:23:47Z","receivedAt":"2012-03-03T22:23:47Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Mar 03, 2012 at 10:14:41PM +0100, Jakub Narebski wrote:\n\n> ---\n> I'm not sure if my Markdown is entirely correct.\n> \n>  SoC-2012-Ideas.md |   41 +++++++++++++++++++++++++++++++++++++++++\n>  1 files changed, 41 insertions(+), 0 deletions(-)\n\nThanks, applied. Your markdown looks fine, though I dropped the quoted\nheading line here:\n\n> +> WARNING\n> +> -------\n\nAs it was difficult to tell that that large text was part of a quoted\nbit (probably there is some quoting mode that does not expand such\nthings, but I didn't think it was worth fiddling with too much).\n\n-Peff\n"},{"id":"186060","messageId":"7vbooc6isi.fsf@alter.siamese.dyndns.org","threadId":"29809","inReplyTo":"20120302091114.GA3984@sigill.intra.peff.net","subject":"[git wiki PATCH] Teaching \"--3way\" to \"git apply\"","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-03-04T23:35:57Z","receivedAt":"2012-03-04T23:35:57Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"I am a bit reluctant to be the one who suggests this, as I do not want to\nbe in the mentoring business, given that as the maintainer, I am by\ndefinition a large part of the process to grade the success of student\nprojects.\n\nBut I think I should mention this, as it is a reasonable bite-size task\nfor a student project that is to be completed inside one release cycle.\n\n---\n SoC-2012-Ideas.md |   13 +++++++++++++\n 1 file changed, 13 insertions(+)\n\ndiff --git a/SoC-2012-Ideas.md b/SoC-2012-Ideas.md\nindex 17e07e0..aeaacb1 100644\n--- a/SoC-2012-Ideas.md\n+++ b/SoC-2012-Ideas.md\n@@ -263,3 +263,16 @@ This is not as terribly complicated as it looks, because the existing networking\n \n Programming language: C89\n Possible mentor(s): Vicent Marti, Russell Belfer\n+\n+Teaching \"--3way\" to \"git apply\"\n+--------------------------------\n+\n+The \"-3\" option \"git am\" understands is useful only when you are\n+applying a full format-patch submission. Teaching the three-way\n+fallback to underlying \"git apply\" would make the feature avialable in\n+more use cases, and later can help making the implementation of \"git\n+am -3\" simpler.\n+\n+Programming language: C89\n+Suggested by: Junio C Hamano\n+Possible mentors: ???\n"},{"id":"186084","messageId":"20120305053343.GA25373@sigill.intra.peff.net","threadId":"29809","inReplyTo":"7vbooc6isi.fsf@alter.siamese.dyndns.org","subject":"Re: [git wiki PATCH] Teaching \"--3way\" to \"git apply\"","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-03-05T05:33:43Z","receivedAt":"2012-03-05T05:33:43Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Mar 04, 2012 at 03:35:57PM -0800, Junio C Hamano wrote:\n\n> I am a bit reluctant to be the one who suggests this, as I do not want to\n> be in the mentoring business, given that as the maintainer, I am by\n> definition a large part of the process to grade the success of student\n> projects.\n\nI don't think there is any commitment to mentor, or for us to even do a\nproject that is on the list. The intent of the idea list is to get\nstudents thinking about their proposals, and hopefully discussing and\nexploring the ideas with us on the list. It is only when it comes time\nto read and rank student proposals that we make a commitment to an idea.\n\n> But I think I should mention this, as it is a reasonable bite-size task\n> for a student project that is to be completed inside one release cycle.\n\nI actually think it may be a little bit too small for a whole summer\nproject. But I pushed it to the wiki for the reasons above; this is just\nan ideas page, not a solid list of proposals.\n\n-Peff\n"},{"id":"186090","messageId":"87vcmjxyjh.fsf@thomas.inf.ethz.ch","threadId":"29809","inReplyTo":"20120305053343.GA25373@sigill.intra.peff.net","subject":"Re: [git wiki PATCH] Teaching \"--3way\" to \"git apply\"","fromName":"Thomas Rast","fromEmail":"trast@inf.ethz.ch","sentAt":"2012-03-05T08:05:54Z","receivedAt":"2012-03-05T08:05:54Z","isPatch":true,"sender":{"key":"tr@thomasrast.ch","avatar":"https://avatars.githubusercontent.com/u/153510?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> I don't think there is any commitment to mentor, or for us to even do a\n> project that is on the list. The intent of the idea list is to get\n> students thinking about their proposals, and hopefully discussing and\n> exploring the ideas with us on the list. It is only when it comes time\n> to read and rank student proposals that we make a commitment to an idea.\n>\n>> But I think I should mention this, as it is a reasonable bite-size task\n>> for a student project that is to be completed inside one release cycle.\n>\n> I actually think it may be a little bit too small for a whole summer\n> project. But I pushed it to the wiki for the reasons above; this is just\n> an ideas page, not a solid list of proposals.\n\nPerhaps we should spell this out in the leading text?  I was going to\nsend a patch, but got stuck rewording at\n\n  Note that these are ideas, not project proposals.  As stated, they may\n  not be of the right difficulty or size to be solved within one Summer\n  of Code.\n\nMaybe you can find a nicer way to write the \"as stated\" (I want it to\nsay \"in the form they currently have\") and put that before the first\ntitle.\n\n-- \nThomas Rast\ntrast@{inf,student}.ethz.ch\n"},{"id":"186094","messageId":"20120305100236.GA29061@sigill.intra.peff.net","threadId":"29809","inReplyTo":"87vcmjxyjh.fsf@thomas.inf.ethz.ch","subject":"Re: [git wiki PATCH] Teaching \"--3way\" to \"git apply\"","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-03-05T10:02:37Z","receivedAt":"2012-03-05T10:02:37Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Mar 05, 2012 at 09:05:54AM +0100, Thomas Rast wrote:\n\n> > I actually think it may be a little bit too small for a whole summer\n> > project. But I pushed it to the wiki for the reasons above; this is just\n> > an ideas page, not a solid list of proposals.\n> \n> Perhaps we should spell this out in the leading text?  I was going to\n> send a patch, but got stuck rewording at\n> \n>   Note that these are ideas, not project proposals.  As stated, they may\n>   not be of the right difficulty or size to be solved within one Summer\n>   of Code.\n> \n> Maybe you can find a nicer way to write the \"as stated\" (I want it to\n> say \"in the form they currently have\") and put that before the first\n> title.\n\nI think the whole intro text is pretty bad. I just pushed the patch\nbelow, but I'm open to suggestions.\n\n-- >8 --\nideas: give a better introduction\n\nThe original text was just pulled from the ideas page of\nprevious years. Let's rework it to address our two audiences\n(people adding ideas, and students reading the page)\ndirectly. And especially let's encourage students to realize\nthat these ideas are just starting points, and try to get\nthem to engage the community before writing a proposal (or\nworse, just submitting a proposal that is simply a\ncut-and-paste of one of the ideas).\n\nSigned-off-by: Jeff King <peff@peff.net>\n---\n SoC-2012-Ideas.md |   25 ++++++++++++++++++++-----\n 1 file changed, 20 insertions(+), 5 deletions(-)\n\ndiff --git a/SoC-2012-Ideas.md b/SoC-2012-Ideas.md\nindex aeaacb1..0bd938a 100644\n--- a/SoC-2012-Ideas.md\n+++ b/SoC-2012-Ideas.md\n@@ -1,9 +1,24 @@\n This page contains project ideas for Google Summer of Code 2012 from the\n-Git user and development community. You can get started by reading some\n-project descriptions, and the mailing list thread(s) that spawned them.\n-If you have another idea, add it to this page and start a discussion on\n-the [[git mailing\n-list|https://git.wiki.kernel.org/articles/g/i/t/GitCommunity_c4e3.html#Mailing_List]].\n+Git user and development community.\n+\n+If you're active in the git community and have an idea that you would\n+feel comfortable mentoring, feel free to add it. If you have an idea but\n+need to find a suitable mentor, please bring it up on the [git mailing\n+list]; others can help you develop the idea and may volunteer to mentor.\n+\n+If you're a prospective GSoC student, read through the ideas and see if\n+any interest you. But note that these are ideas, not project proposals;\n+they may need details filled in or expanded to make a good project.\n+Find an area that interests you and start a discussion on the [git\n+mailing list], even if it's just by asking more about the topic. A good\n+proposal will be clear about the problem to be solved, the history of\n+work in that area, and the specifics of the approach that the GSoC\n+project will take. You can find some of those answers by reading the\n+code and searching the list archives, but discussing the idea with\n+interested developers is a great way for both the student and mentor to\n+reach an understanding of exactly what is to be accomplished.\n+\n+[git mailing list]: https://git.wiki.kernel.org/articles/g/i/t/GitCommunity_c4e3.html#Mailing_List\n \n Better git log --follow support\n -------------------------------\n-- \n1.7.9.1.11.g9d81f\n"},{"id":"186106","messageId":"vpqipijjhh5.fsf@bauges.imag.fr","threadId":"29809","inReplyTo":"20120302091114.GA3984@sigill.intra.peff.net","subject":"Re: GSoC 2012 application process","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2012-03-05T13:38:14Z","receivedAt":"2012-03-05T13:38:14Z","isPatch":false,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jeff King <peff@peff.net> writes:\n\n>   https://github.com/peff/git/wiki/SoC-2012-Ideas\n[...]\n>   2. Project ideas to be added to the ideas page.\n\nThey're not really SoC project ideas, but if you're interested in\nsmaller project ideas, I had gathered some last year on Git's wiki\n(originally as suggestion to students as a school project):\n\n  https://git.wiki.kernel.org/articles/s/m/a/SmallProjectsIdeas_00e5.html\n\nI can either add a link to this page on the ideas list, or convert this\npage to markdown syntax to add it to the wiki.\n\nI'll have to revive this list anyway since I'll offer the same school\nproject this year in May-June.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"186110","messageId":"20120305135835.GB17189@sigill.intra.peff.net","threadId":"29809","inReplyTo":"vpqipijjhh5.fsf@bauges.imag.fr","subject":"Re: GSoC 2012 application process","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-03-05T13:58:35Z","receivedAt":"2012-03-05T13:58:35Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Mar 05, 2012 at 02:38:14PM +0100, Matthieu Moy wrote:\n\n> They're not really SoC project ideas, but if you're interested in\n> smaller project ideas, I had gathered some last year on Git's wiki\n> (originally as suggestion to students as a school project):\n> \n>   https://git.wiki.kernel.org/articles/s/m/a/SmallProjectsIdeas_00e5.html\n\nI do think they're interesting, though probably not a good fit for the\nSoC ideas page because of their size.\n\n> I can either add a link to this page on the ideas list, or convert this\n> page to markdown syntax to add it to the wiki.\n\nI'd rather have them on a separate page. Which brings up the question of\nwhether they should be moved at all. I had never intended for this wiki\nto be the official git wiki. I just wanted a convenient place to stick\nGSoC stuff, and I didn't want to deal with the official wiki question.\n\nSo where do people want the wiki? It would be easy to host it somewhere\nmore official looking, like https://github.com/git/git/wiki. David\nmentioned that Google Code has wikis which are backed by git now. I have\nno idea if kernel.org is ever planning on bringing back an editable\nwiki.\n\nWherever the actual hosting occurs, we could also probably get a nicer\nname like wiki.git-scm.com.\n\n-Peff\n"},{"id":"186119","messageId":"vpq8vjfgldc.fsf@bauges.imag.fr","threadId":"29809","inReplyTo":"20120305135835.GB17189@sigill.intra.peff.net","subject":"Re: GSoC 2012 application process","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2012-03-05T14:42:23Z","receivedAt":"2012-03-05T14:42:23Z","isPatch":false,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jeff King <peff@peff.net> writes:\n\n>>   https://git.wiki.kernel.org/articles/s/m/a/SmallProjectsIdeas_00e5.html\n[...]\n>> I can either add a link to this page on the ideas list, or convert this\n>> page to markdown syntax to add it to the wiki.\n>\n> I'd rather have them on a separate page. Which brings up the question of\n> whether they should be moved at all.\n\nRight now, they don't need to, but having them as static pages with\nstrange name (I had to guess the 00e5 part of the URL to find the\npage ...) is not optimal when it comes to editing ;-). Nothing urgent\nthough. Scott said he had plans to host a wiki on git-scm.com, it can\nprobably wait until that.\n\nI think it makes sense to add a link, so that more generally than the\nSoC context, pages containing ideas link to each other. How about this:\n\n>From c7ab11696f777e70e6bc254424f54bc884e52758 Mon Sep 17 00:00:00 2001\nFrom: Matthieu Moy <Matthieu.Moy@imag.fr>\nDate: Mon, 5 Mar 2012 15:37:06 +0100\nSubject: [PATCH] Add links to other sources of inspiration\n\n---\n SoC-2012-Ideas.md |   10 ++++++++++\n 1 files changed, 10 insertions(+), 0 deletions(-)\n\ndiff --git a/SoC-2012-Ideas.md b/SoC-2012-Ideas.md\nindex 0bd938a..6f543f6 100644\n--- a/SoC-2012-Ideas.md\n+++ b/SoC-2012-Ideas.md\n@@ -291,3 +291,13 @@ am -3\" simpler.\n Programming language: C89\n Suggested by: Junio C Hamano\n Possible mentors: ???\n+\n+Other sources of inspiration\n+----------------------------\n+\n+* Previous year's SoC ideas:\n+[SoC2011Ideas](https://git.wiki.kernel.org/articles/s/o/c/SoC2011Ideas_49fd.html),\n+[SoC2010Ideas](https://git.wiki.kernel.org/articles/s/o/c/SoC2010Ideas_ccd4.html)\n+* [Git users survey](http://permalink.gmane.org/gmane.comp.version-control.git/183242)\n+* [Small project ideas](https://git.wiki.kernel.org/articles/s/m/a/SmallProjectsIdeas_00e5.html)\n+(probably too small for a SoC)\n-- \n1.7.9.111.gf3fb0.dirty\n\n\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"186160","messageId":"20120305235351.GA19866@sigill.intra.peff.net","threadId":"29809","inReplyTo":"vpq8vjfgldc.fsf@bauges.imag.fr","subject":"Re: GSoC 2012 application process","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-03-05T23:53:51Z","receivedAt":"2012-03-05T23:53:51Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Mar 05, 2012 at 03:42:23PM +0100, Matthieu Moy wrote:\n\n> I think it makes sense to add a link, so that more generally than the\n> SoC context, pages containing ideas link to each other. How about this:\n\nMakes sense to me. Applied and pushed.\n\n-Peff\n"},{"id":"186314","messageId":"20120307143638.GA2217@sigill.intra.peff.net","threadId":"29809","inReplyTo":"20120302091114.GA3984@sigill.intra.peff.net","subject":"GSoC backup admin","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-03-07T14:36:38Z","receivedAt":"2012-03-07T14:36:38Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Mar 02, 2012 at 04:11:14AM -0500, Jeff King wrote:\n\n> The Google Summer of Code 2012 application process is underway. We have\n> participated for the past 5 years, so I assume we want to do so again.\n> [...]\n> At this point, we need:\n\nPeople have been very good about contributing to the ideas page, and I\nthink we have a number of possible mentors (though more ideas and more\nmentor volunteers are always good). However, we still need somebody to\nvolunteer as backup admin. If I don't hear from somebody, I will just\nput down Shawn's name, whether he accepts it or not. :)\n\n-Peff\n"},{"id":"186317","messageId":"CAJo=hJskqAtKjT5sBNWdc+wwHgi5P-zjmtJeWVCrCwwbpLkxEQ@mail.gmail.com","threadId":"29809","inReplyTo":"20120307143638.GA2217@sigill.intra.peff.net","subject":"Re: GSoC backup admin","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2012-03-07T15:27:21Z","receivedAt":"2012-03-07T15:27:21Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"On Wed, Mar 7, 2012 at 06:36, Jeff King <peff@peff.net> wrote:\n> On Fri, Mar 02, 2012 at 04:11:14AM -0500, Jeff King wrote:\n>\n>> The Google Summer of Code 2012 application process is underway. We have\n>> participated for the past 5 years, so I assume we want to do so again.\n>> [...]\n>> At this point, we need:\n>\n> People have been very good about contributing to the ideas page, and I\n> think we have a number of possible mentors (though more ideas and more\n> mentor volunteers are always good). However, we still need somebody to\n> volunteer as backup admin. If I don't hear from somebody, I will just\n> put down Shawn's name, whether he accepts it or not. :)\n\nI'm game with being backup admin again this year.\n"},{"id":"186497","messageId":"1331241493-17188-1-git-send-email-jnareb@gmail.com","threadId":"29809","inReplyTo":"20120302091114.GA3984@sigill.intra.peff.net","subject":"[gsoc2012 wiki PATCH] \"Use JavaScript library / framework in gitweb\" project","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2012-03-08T21:18:13Z","receivedAt":"2012-03-08T21:18:13Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"---\nInspied by problems with timezone changing JavaScript that Ramsay\nJones had.\n\n SoC-2012-Ideas.md |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 files changed, 54 insertions(+), 0 deletions(-)\n\ndiff --git a/SoC-2012-Ideas.md b/SoC-2012-Ideas.md\nindex 6f543f6..8c3b266 100644\n--- a/SoC-2012-Ideas.md\n+++ b/SoC-2012-Ideas.md\n@@ -264,6 +264,60 @@ Programming language: Perl\n Proposed by: Jakub Narębski  \n Possible mentor(s): Jakub Narębski (?)\n \n+Use JavaScript library / framework in gitweb\n+--------------------------------------------\n+\n+Gitweb (git web interface) includes some *optional* client-side\n+scripting using JavaScript.  This includes checking if JavaScript is\n+available and remembering this information so gitweb can choose\n+JavaScript-only version of a view (javascript-detection), selecting\n+common timezone to use when showing dates (adjust-timezone), and\n+AJAX-y incremental blame view (blame_incremental).\n+\n+Currently all this is done using hand-written JavaScript.  This means\n+that gitweb scripting includes handling cookies, formatting output,\n+processing dates, and smoothing out incompatibilities between browsers\n+(like e.g. XmlHttpRequest creation).\n+\n+This is redoing work which JavaScript libraries, such as jQuery,\n+MooTools or YUI already did.  Moreover, if we want to add new features\n+(e.g. table sorted using JavaScript), or improve existing ones, we\n+would have to re-implement existing JavaScript code.  Also our\n+hand-crafted code is not as well tested as widely used JavaScript\n+libraries.\n+\n+The goal of this project is to move gitweb client side scripting to\n+use some JavaScript library / JavaScript framework.\n+\n+The project would consist of the following steps:\n+\n+ * Add support for configuring and loading external JavaScript library\n+   to `gitweb/gitweb.perl` and `gitweb/Makefile`.  It would be nice\n+   (though not necessary) to be able to use local version of library,\n+   and have such feature well documented.\n+\n+ * Remove gitweb's JavaScript mini-library in `gitweb/static/js/lib`\n+   and replace it part by part by appropriate JavaScript library\n+   functions (methods).\n+\n+ * Replace DOM selectors by library version, if applicable.\n+\n+ * Optional: emulate 'onprogress' in XmlHttpRequest using native\n+   JavaScript library mechanism (creating a class, or whatever).\n+\n+ * Optional: better deferring of repainting in incremental blame.\n+\n+Note that we require that client-side scripting in gitweb follow\n+[progressive enhancement] strategy; gitweb should work correctly,\n+perhaps with reduced functionality, even if JavaScript is turned off,\n+or external JavaScript library cannot be loaded.\n+\n+[progressive enhancement]: http://en.wikipedia.org/wiki/Progressive_enhancement\n+\n+Programming language: JavaScript  \n+Proposed by: Jakub Narębski  \n+Possible mentor(s): Jakub Narębski\n+\n Finishing network support for libgit2\n -------------------------------------\n \n-- \n1.7.9\n"},{"id":"186531","messageId":"20120309072410.GA29705@sigill.intra.peff.net","threadId":"29809","inReplyTo":"1331241493-17188-1-git-send-email-jnareb@gmail.com","subject":"Re: [gsoc2012 wiki PATCH] \"Use JavaScript library / framework in gitweb\" project","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-03-09T07:24:10Z","receivedAt":"2012-03-09T07:24:10Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Mar 08, 2012 at 10:18:13PM +0100, Jakub Narebski wrote:\n\n> Inspied by problems with timezone changing JavaScript that Ramsay\n> Jones had.\n> \n>  SoC-2012-Ideas.md |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n>  1 files changed, 54 insertions(+), 0 deletions(-)\n\nThanks, applied.\n\n-Peff\n"},{"id":"186605","messageId":"1331340416-13359-1-git-send-email-jnareb@gmail.com","threadId":"29809","inReplyTo":"20120302091114.GA3984@sigill.intra.peff.net","subject":"[gsoc2012 wiki PATCH] \"`git instaweb --serve`\" project","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2012-03-10T00:46:56Z","receivedAt":"2012-03-10T00:46:56Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"---\nI don't know if \"git-serve\" is something that would be realy useful,\nor just checkmark in the comparison of Git and Mercurial.\n\n SoC-2012-Ideas.md |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 files changed, 54 insertions(+), 0 deletions(-)\n\ndiff --git a/SoC-2012-Ideas.md b/SoC-2012-Ideas.md\nindex 95411ec..884237e 100644\n--- a/SoC-2012-Ideas.md\n+++ b/SoC-2012-Ideas.md\n@@ -318,6 +318,60 @@ Programming language: JavaScript\n Proposed by: Jakub Narębski  \n Possible mentor(s): Jakub Narębski\n \n+`git instaweb --serve`\n+----------------------\n+\n+[git-instaweb] is a tool for browsing a repository (in gitweb) with\n+a web browser.  To use it, simply run `git instaweb` inside\n+repository.  It would set up gitweb and a web server, and by default\n+also run a web browser.  Web interface would be available at\n+`http://localhost:1234`.\n+\n+For informal, ad-hoc sharing it would be nice if there was an option\n+to `git instaweb` that would make it also allow remote machines\n+to **pull** from you (via HTTP), similar to [hg serve] command in\n+Mercurial version control system.\n+\n+git-instaweb supports many web servers.  Currently apache2, lighttpd,\n+mongoose, plackup and webrick are supported.  It is not necessary to\n+implement support for `--serve` in all of them.\n+\n+The project would consist of the following steps:\n+\n+ * Configure web server to run `git-http-backend` CGI program to serve\n+   git repositories over HTTP.  It should probably allow by default\n+   only read-only use.\n+\n+ * Configure gitweb to show fetch URL in 'summary' page.\n+\n+ * If possible for given web server (and with available modules),\n+   configure it so that \"smart\" HTTP server and gitweb share common\n+   URL (are available under the same URL).\n+\n+ * If possible use mechanism native for a web server used, for example \n+   [Plack::App::GitSmartHttp] for 'plackup' web server, or [grack]\n+   with WEBrick.\n+\n+ * Optionally: add support for pushing (disabled by default).\n+\n+ * Optionally: add documentation about using `git instaweb` to\n+   \"[Git User's Manual]\" (or one of tutorials), similar to appropriate\n+   chapter in [hgbook] (\"Mercurial: The Definitive Guide\").\n+\n+The minimum would be to implement pull support under different URL\n+than web interface, and only for one web server.\n+\n+Programming language: shell script  \n+Proposed by: Jakub Narębski  \n+Possible mentor(s): Jakub Narębski, Eric Wong, ...\n+\n+[git-instaweb]: http://schacon.github.com/git/git-instaweb.html\n+[hg serve]: http://mercurial.selenic.com/wiki/hgserve\n+[Plack::App::GitSmartHttp]: http://search.cpan.org/perldoc?Plack::App::GitSmartHttp\n+[grack]: https://github.com/schacon/grack\n+[Git User's Manual]: http://schacon.github.com/git/user-manual.html\n+[hgbook]: http://hgbook.red-bean.com/read/collaborating-with-other-people.html#sec:collab:serve\n+\n Finishing network support for libgit2\n -------------------------------------\n \n-- \n1.7.9\n"},{"id":"186673","messageId":"1331505055-12231-1-git-send-email-jnareb@gmail.com","threadId":"29809","inReplyTo":"20120302091114.GA3984@sigill.intra.peff.net","subject":"[gsoc2012 wiki PATCH] \"Graphical diff in git-gui\" project","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2012-03-11T22:30:55Z","receivedAt":"2012-03-11T22:30:55Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"---\nI don't have much hope that we can find a student that would be\ninterested in this feature and knows Tcl/Tk enough so that hs or she\ncan atually implement it...\n\nBut I can hope.\n\n SoC-2012-Ideas.md |   62 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 files changed, 62 insertions(+), 0 deletions(-)\n\ndiff --git a/SoC-2012-Ideas.md b/SoC-2012-Ideas.md\nindex 9ad449f..bea2c09 100644\n--- a/SoC-2012-Ideas.md\n+++ b/SoC-2012-Ideas.md\n@@ -421,6 +421,68 @@ Write a tool that can be used for the task, and optionally wrap an interactive U\n Programming language: Any  \n Possible mentors: ???  \n \n+Graphical diff in git-gui\n+-------------------------\n+\n+[git-gui] is a portable Tcl/Tk based graphical interface to Git,\n+focused on commit generation and single file annotation.  It is part\n+of Git, even though it is developed in a [separate repository].\n+\n+git-gui can show differences as syntax-highlighted unified diff.  The\n+goal of this project would be to add graphical side-by-side diff.\n+One possibility is to make use of [TkDiff] code (a graphical diff and\n+merge tool), which is also GPL licensed.\n+\n+The project would consist of the following steps (not all must be\n+implemented during Google Summer of Code):\n+\n+ * Add \"git gui diff\" subcommand, which would show single file\n+   side-by-side graphical compare or/and graphical diff.\n+\n+   Graphical part and code for side-by-side compare (showing full\n+   contents of both files) can be taken from TkDiff, while graphical\n+   side-by-side diff (showing changes plus context) can be translated\n+   from gitweb's side-by-side diff code.\n+\n+ * Integrate graphical diff with main git-gui application (including\n+   switching between side-by-side and unified diff).\n+\n+ * Add highlighting of changes in diff both to side-by-side\n+   (new code), and to unified diff (current code).\n+\n+   It can be done using code for TkDiff (perhaps with Git performing\n+   word diff instead of doing it in Tcl), or/and using algorithm from\n+   gitweb and diff-highlight in contrib.  The difference is that one\n+   uses word diff or character diff to highlight changes, the other\n+   just skips common prefix and suffix.\n+\n+ * Add graphical merge / graphical 3-way diff support.  Both are to be\n+   used in case a file has textual conflicts; graphical merge also\n+   includes resolving a merge by taking 'our' side, 'their' side (or\n+   optionally also 'ancestor' side), or by editing merge result.\n+\n+ * Graphical side-by-side tree level diff, or side-by-side directory\n+   listing with differences highlighted.\n+\n+   UI can be taken from two-panel filemanagers (like MC, or Total\n+   Commander), or from synchronization tools (like e.g. Unison).\n+\n+   The difficulty can be in showing rename and copy detection results,\n+   and in showing type (filemode) changes.\n+\n+The minimum would be to implement side-by-side diff or side-by-side\n+compare of two files, without highlighting changes (diff refinement\n+highlighting) in the form of separate \"`git gui diff <file>`\"\n+command.\n+\n+[git-gui]: http://schacon.github.com/git/git-gui.html\n+[separate repository]: http://repo.or.cz/w/git-gui.git\n+[TkDiff]: http://freecode.com/projects/tkdiff\n+\n+Programming language: Tcl/Tk  \n+Proposed by: Jakub Narębski  \n+Possible mentor(s): Pat Thoyts, Paul Mackerras (?)\n+\n Other sources of inspiration\n ----------------------------\n \n-- \n1.7.9\n"}]}