redmine.pm for git
I tried getting Redmine.pm to work as an authentication handler for git over webdav, but without much success. Both parts work on their own, i.e. Redmine.pm works great with SVN, and git over webdav works great with a text password file, but I can't get both to work together, I only end up getting roughly 10 Webdav commands to get over on a push, and an apache child that segfaults (11).
Has anyone already had some success with such a setup? How could I debug this?
#1 Updated by Jean-Philippe Lang about 12 years ago
- Status changed from New to Closed
- Affected version (unused) deleted (
- Resolution set to Invalid
- Affected version deleted (
Not a defect since Redmine.pm is for subversion users.
Redmine - a mod_perl module to authenticate webdav subversion users
against redmine database
#2 Updated by Felix Schäfer about 12 years ago
I'm aware that it was designed for svn, but but the svn dav is also just plain webdav, which git uses for access to http/s repositories. I even use the Redmine.pm to authenticate access to folders on another vhost (think a sandbox for webapps being managed with redmine). I just think that extending the scope of the module to also work with git shouldn't be much trouble, but I've never been into perl, and I have no idea how to debug this. A pointer to debugging perl apache modules would make me happy, so I can try to patch it myself.
#3 Updated by Nicolas Chuche about 12 years ago
Yes, I had some success with Redmine.pm for git authentication. I tried on ubuntu 9.04 with standard apache, webdav, modperl and a fresh redmine trunk.
% sudo ruby ~/travail/rails/redmine-trunk/extra/svn/reposman.rb --redmine localhost:3000 --svn-dir /var/git --owner www-data --verbose --scm git -f querying Redmine for projects... retrieved 3 projects treating project anotherproject Initialized empty shared Git repository in /var/git/anotherproject/ repository /var/git/anotherproject created treating project hello treating project unprojet % git config remote.upload.url http://nc@localhost/git/anotherproject % git push upload master Fetching remote heads... refs/ refs/heads/ refs/tags/ updating 'refs/heads/master' from 0000000000000000000000000000000000000000 to 4b019b7c8a241d56dd46d67077619ddd22024e8a sending 625 objects done Updating remote server info
My apache configuration is :
PerlLoadModule Apache::Authn::Redmine [...] Alias /git /var/git <Location /git> DAV on AuthType Basic Require valid-user AuthName "Git" PerlAccessHandler Apache::Authn::Redmine::access_handler PerlAuthenHandler Apache::Authn::Redmine::authen_handler RedmineDSN "DBI:mysql:database=redmine_development_trunk;host=localhost"; RedmineDbUser "redmine" RedmineDbPass "password" </Location>