Upload
zachary-stevens
View
978
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Slides from the Gitalist presentation at London Perl Workshop 2009.
Citation preview
In the beginning...
gitweb.cgi
• By Kay Sievers and Christian Gierke
• included with core git
• written in perl
gitweb.cgi - good
• well-commented
• sane design
• meets implementation constraints
gitweb.cgi - bad
• utilitarian interface
• implementation contraints
• == unfun to modify
• == restricted to core perl
• poor foundation for extensions
Gitalist
• Started by Dan Brook (broquaint)
• Transitional project
• Catalyst
• Moose
Gitalist - Goals
• Feature parity
• URI compatibility
• Easy to extend
• Better representative of modern Perl
The Evolutionary Process
Gitalist - Step 1
• Adds Catalyst and TT
• Wrapped gitweb
• “World’s thinnest controller”
No, Really
Gitalist - Step 2
• Adds Moose and rafl’s gitweb
• First real Catalyst actions
• project index
• header and footer
Gitalist - Step 3
• OO Model
• All actions implemented
• No more gitweb.pm!
Achievements
• First production release on CPAN
• URI compatibility
• Feature complete
• Useful tests
Required Work
• Finding bugs
• Fixing bugs
• More tests
• Improve configurability
The Future
JSON
Caching
InterfaceEnhancements
•Blame + history navigation•Rendered markdown/pod/etc•Improved activity summary
...to suggest features
...or send patches!
Thanks
• Kay Sievers and Christian Gierke
• rafl
• Dan Brook (broquaint)
• Tomas Doran (t0m)
• Venda (www.venda.com)
Gitalist
• http://github.com/broquaint/Gitalist
• http://search.cpan.org/dist/Gitalist
• #gitalist on irc.perl.org
Installing from Git
$ git clone git://git.shadowcat.co.uk/catagits/Gitalist.git
$ cd Gitalist
$ perl Makefile.PL && make installdeps
$ ./script/gitalist_server.pl