Gitalist
Because gitweb.cgi isn’t a great advertisement for Perl




                Zachary Stevens
            <zts@cryp...
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
• ...
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
Interface
 Enhancements

•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 ...
Prochain SlideShare
Chargement dans…5
×

Gitalist Talk LPW2009

1 562 vues

Publié le

Slides from the Gitalist presentation at London Perl Workshop 2009.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Gitalist Talk LPW2009

  1. 1. Gitalist Because gitweb.cgi isn’t a great advertisement for Perl Zachary Stevens <zts@cryptocracy.com>
  2. 2. In the beginning...
  3. 3. gitweb.cgi • By Kay Sievers and Christian Gierke • included with core git • written in perl
  4. 4. gitweb.cgi - good • well-commented • sane design • meets implementation constraints
  5. 5. gitweb.cgi - bad • utilitarian interface • implementation contraints • == unfun to modify • == restricted to core perl • poor foundation for extensions
  6. 6. Gitalist • Started by Dan Brook (broquaint) • Transitional project • Catalyst • Moose
  7. 7. Gitalist - Goals • Feature parity • URI compatibility • Easy to extend • Better representative of modern Perl
  8. 8. The Evolutionary Process
  9. 9. Gitalist - Step 1 • Adds Catalyst and TT • Wrapped gitweb • “World’s thinnest controller”
  10. 10. No, Really
  11. 11. Gitalist - Step 2 • Adds Moose and rafl’s gitweb • First real Catalyst actions • project index • header and footer
  12. 12. Gitalist - Step 3 • OO Model • All actions implemented • No more gitweb.pm!
  13. 13. Achievements • First production release on CPAN • URI compatibility • Feature complete • Useful tests
  14. 14. Required Work • Finding bugs • Fixing bugs • More tests • Improve configurability
  15. 15. The Future
  16. 16. JSON
  17. 17. Caching
  18. 18. Interface Enhancements •Blame + history navigation •Rendered markdown/pod/etc •Improved activity summary
  19. 19. ...to suggest features
  20. 20. ...or send patches!
  21. 21. Thanks • Kay Sievers and Christian Gierke • rafl • Dan Brook (broquaint) • Tomas Doran (t0m) • Venda (www.venda.com)
  22. 22. Gitalist • http://github.com/broquaint/Gitalist • http://search.cpan.org/dist/Gitalist • #gitalist on irc.perl.org
  23. 23. Installing from Git $ git clone git://git.shadowcat.co.uk/catagits/ Gitalist.git $ cd Gitalist $ perl Makefile.PL && make installdeps $ ./script/gitalist_server.pl

×