On Friday 21 November 2008 03.56.51 Jakub Narebski wrote: > Actually there are one and a half of Perl interfaces to Git: Git.pm > created by Pasky (who, as far as I understand is not a Perl hacker) > which is in git.git repository, and Git::Repo and friends created by > Lea Wiemann during her work on "gitweb caching" project at Google > Summer of Code 2008 (you can find her repository at git wiki page > http://git.or.cz/gitwiki/SoC2008Projects). > > > If I remember history of Git.pm correctly, it was first created as a > way to collect together and uniquify various versions of safe_pipe and > safe_qx which were used by various Perl scripts in git; something like > Perl version of git-sh-setup.sh for shell scripts... At first it even > used XS in parts, but the build system was deemed too unportable (it > depended on -fPIC). One of design decisions was to use Error.pm for > throwing errors; I'm not a Perl hacker, so I cannot say if this was a > good decision, and if implementation of this part is good. Using Error.pm is not a bad decision even if more simple mechanisms do the job. > Lea Wiemann work on Git::Repo and friends was created as object > oriented interface. It was build from ground up instead of reusing > Git.pm to be not encumbered by Git.pm cruft... unfortunately it means > also abandoning all the work that went in Git.pm to make it portable > (read: make it work with crippled ActiveState Perl). You can find > discussion on the design of Git::Repo and decision of it being clean > state implementation at link given by Pasky. > > P.S. I have "[RFC] Git Perl bindings, and OO interface" half-written > (well, more like a third), a bit stalled. I'll try to find time to > finish it and send it to git mailing list. That would be very usefull. the relevant information should be integrated in the module itself. Thank you for your input on the history of Git.pm. Cheers, Nadim -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html