This repository has been archived by the owner on May 17, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Ruby-based GIT web frontend
License
Flameeyes/gitarella
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Gitarella born as a replacement for gitweb, as it wasn't providing something I was looking for: direct URLs pointing to files in the repository. The decision to make it a Ruby webapp was due to my passion for Ruby and the availability of a lot of tools to write Web Applications, like CGI and FastCGI libraries, and HTML template libraries and so on. The current code, while not as evolved as gitweb's, can do basic browsing of the repositories' tree and handle diff view of the changesets. To be able to run gitarella you need: - a webserver able to handle CGI or FastCGI requests (tested and developed using lighttpd, but Apache should work just as fine); - Ruby version 1.8; - for FastCGI support, ruby-fcgi extension ( http://raa.ruby-lang.org/list.rhtml?name=fcgi ); - for memcached backend, Ruby-MemCache extension ( http://www.deveiate.org/projects/RMemCache/ ); - diff-lcs extensions, mandatory for diff viewing ( http://raa.ruby-lang.org/project/diff-lcs ); TODO, make this optional; - htmlentities extension, mandatory ( http://htmlentities.rubyforge.org/ ); - filemagic extension, required for serving proper mime-types of the files, both statics and raw from the repository; optional but highly suggested ( http://grub.ath.cx/filemagic/ ); - and of course GIT (developed using version 1.4.0). Compared to gitweb, Gitarella tries to focus more on limiting the disk I/O when reading almost-static data. This is achieved through the optional memcached support, that will keep cached in memory all the data read for repositories, commits and tags. This can be done safely by using the SHA1 of the objects to memorize them in the cache: as the objects are immutables, the cache can be maintained indefinitely. This reduces a lot the time required for reading the data through the git commands and for parsing it into a Ruby-usable object.
About
Ruby-based GIT web frontend
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published