git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: GSoC Application [ Parallelism + Git.pm ]

From
Subho Banerjee <subs.zero@gmail.com>
Date
Mar 21, 2012, 18:52 UTC
Message-ID
<CAB3zAY0atsiXkBDxaRkC+WGzQUSOYgTnRZmOXdqKiXRw_DKkjQ@mail.gmail.com>
In-Reply-To
<m37gyhlvkz.fsf@localhost.localdomain>

Hello Jakub, I had some time to look through the perl module in the Git sources and I wanted to summarize the changes that need to be made -

[Primary Task] [1] Move exception handling from Error::Simple to Try::Tiny and Exception::Class

[Additional] [2] A Git::Config module that parses the .gitconfig file and the .git/config file in each repository(Is it one of these files or both?) [3] Parsing Tree and Commit objects and then traverse the tree structure in Perl through a Git::Commit module. [4] Cleaning-up improving the API. In general move towards an module that can access and change data in the configuration and commit status using Perl instead of the fork and IPC being used now.

Is this what you expect as a part of the GSoC work? Could you please tell me if I am missing something.

Cheers, Subho.

On Sun, Mar 18, 2012 at 10:01 PM, Jakub Narebski <jnareb@gmail.com> wrote:
Show 48 quoted lines
>
> Subho Banerjee <subs.zero@gmail.com> writes:
>
> [...]
> > I had a look at the "Ideas" page on the GSoC website and I really
> > liked two particular project ideas, in which I believe I can
> > contribute to a larger extent.
> >
> > * Improving parallelism in various commands
> > * Modernizing and expanding Git.pm
>
> [...]
> > From what I understand of these tasks --
> [...]
> > * For the second one, which aims at improving the Git perl module. I
> > tried looking around for this one on the net. I was a little confused
> > since I could not make out which module this was on CPAN. Is this one
> > of the Git::* modules or is it all of them. Because the the
> > functionality of the Git::Config and Git::Commit as mentioned in the
> > Ideas page seems to be there in the Git::Repository module on CPAN.
> > Could some one please clarify this.
>
> The "Modernizing and expanding Git.pm" project refers to the Git
> module in git sources[1], that is used by git commands implemented in
> Perl like git-svn, git-send-email, and interactive part of git-add.
>
> It is not on CPAN (though if you feel like it putting it on CPAN might
> be part of this project, but it must be "dual-lived").
>
> [1]: http://repo.or.cz/w/git.git/blob/HEAD:/perl/Git.pm
>     http://git.kernel.org/?p=git/git.git;a=blob;hb=HEAD;f=perl/Git.pm
>     https://github.com/git/git/blob/master/perl/Git.pm
>
> You can of course take inspiration and code (if it is with compatibile
> license) from various Git::* modules on CPAN to implement the
> "expanding" part of this project.
>
> Note that Git.pm must remain extremly portable, which includes
> ActivePerl on MS Windows (msysGit or Cygwin).  Use of non-core modules
> (for 5.8.0) should be also probably limited.
>
> > I would really appreciate any ideas or advice for making my
> > application for GSoC 2012 better.
>
> HTH
> --
> Jakub Narebski
>
Previous: Jakub NarebskiNext: Jakub Narebski
Message 3 of 7 in “GSoC Application [ Parallelism + Git.pm ]”
  1. Subho BanerjeeMar 18, 2012
  2. Jakub NarebskiMar 18, 2012
  3. Subho BanerjeeMar 21, 2012
  4. Jakub NarebskiMar 22, 2012
  5. Thomas RastMar 21, 2012
  6. Subho BanerjeeMar 21, 2012
  7. Nguyen Thai Ngoc DuyMar 21, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.