23
Gitalist Because gitweb.cgi isn’t a great advertisement for Perl Zachary Stevens <[email protected] >

Gitalist Talk LPW2009

Embed Size (px)

DESCRIPTION

Slides from the Gitalist presentation at London Perl Workshop 2009.

Citation preview

Page 1: Gitalist Talk LPW2009

GitalistBecause gitweb.cgi isn’t a great advertisement for Perl

Zachary Stevens<[email protected]>

Page 2: Gitalist Talk LPW2009

In the beginning...

Page 3: Gitalist Talk LPW2009

gitweb.cgi

• By Kay Sievers and Christian Gierke

• included with core git

• written in perl

Page 4: Gitalist Talk LPW2009

gitweb.cgi - good

• well-commented

• sane design

• meets implementation constraints

Page 5: Gitalist Talk LPW2009

gitweb.cgi - bad

• utilitarian interface

• implementation contraints

• == unfun to modify

• == restricted to core perl

• poor foundation for extensions

Page 6: Gitalist Talk LPW2009

Gitalist

• Started by Dan Brook (broquaint)

• Transitional project

• Catalyst

• Moose

Page 7: Gitalist Talk LPW2009

Gitalist - Goals

• Feature parity

• URI compatibility

• Easy to extend

• Better representative of modern Perl

Page 8: Gitalist Talk LPW2009

The Evolutionary Process

Page 9: Gitalist Talk LPW2009

Gitalist - Step 1

• Adds Catalyst and TT

• Wrapped gitweb

• “World’s thinnest controller”

Page 10: Gitalist Talk LPW2009

No, Really

Page 11: Gitalist Talk LPW2009

Gitalist - Step 2

• Adds Moose and rafl’s gitweb

• First real Catalyst actions

• project index

• header and footer

Page 12: Gitalist Talk LPW2009

Gitalist - Step 3

• OO Model

• All actions implemented

• No more gitweb.pm!

Page 13: Gitalist Talk LPW2009

Achievements

• First production release on CPAN

• URI compatibility

• Feature complete

• Useful tests

Page 14: Gitalist Talk LPW2009

Required Work

• Finding bugs

• Fixing bugs

• More tests

• Improve configurability

Page 15: Gitalist Talk LPW2009

The Future

Page 16: Gitalist Talk LPW2009

JSON

Page 17: Gitalist Talk LPW2009

Caching

Page 18: Gitalist Talk LPW2009

InterfaceEnhancements

•Blame + history navigation•Rendered markdown/pod/etc•Improved activity summary

Page 19: Gitalist Talk LPW2009

...to suggest features

Page 20: Gitalist Talk LPW2009

...or send patches!

Page 21: Gitalist Talk LPW2009

Thanks

• Kay Sievers and Christian Gierke

• rafl

• Dan Brook (broquaint)

• Tomas Doran (t0m)

• Venda (www.venda.com)

Page 22: Gitalist Talk LPW2009

Gitalist

• http://github.com/broquaint/Gitalist

• http://search.cpan.org/dist/Gitalist

• #gitalist on irc.perl.org

Page 23: Gitalist Talk LPW2009

Installing from Git

$ git clone git://git.shadowcat.co.uk/catagits/Gitalist.git

$ cd Gitalist

$ perl Makefile.PL && make installdeps

$ ./script/gitalist_server.pl