forked from mojombo/egitd
-
Notifications
You must be signed in to change notification settings - Fork 8
Vagabond/egitd
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
egitd by Tom Preston-Werner <tom@github.com> egitd is an Erlang git-daemon implementation that provides a more flexible, scalable, and loggable way to serve public git repositories. Development Status: Experimental This software was in production use at github.com for a short time until it became obvious that the communications model was flawed. To be specific, if the upload-pack takes a long time to respond (for big repos), either the timeouts have to be increased to unreasonable values (slowing the entire transfer down), or some connections will timeout and fail. The above problem has actually been solved by a rewrite I (Vagabond) have been doing as an exercise in how to improve the performance of erlang applications. egitd is now only marginally slower than git-daemon on the same repo, and does not suffer the timeout issues mentioned above even on the large repos like gentoo's portage where github was having problems. I still don't advocate its use in production, but it might be usable now. You can see my rewrite notes here: http://andrew.hijacked.us/by_keyword/328/egit INSTALL ------- $ git clone git@github.com:mojombo/egitd.git $ cd egitd $ make You can also build by using ./rebar compile, which the Makefile invokes. RUN --- $ bin/egitd -c <path to conf file> -l <path to log file> CONF FILE --------- The config file specifies the mapping between specified repo name and file location. github.com (.+)/(.+) "/data/git/repositories/" ++ Match1 ++ "/" ++ Match2.
About
The Erlang git-daemon
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Erlang 88.8%
- Ruby 11.2%