Project

General

Profile

Actions

Defect #3958

closed

redmine.pm for git

Added by Felix Schäfer about 15 years ago. Updated about 15 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
SCM
Target version:
-
Start date:
2009-10-02
Due date:
% Done:

0%

Estimated time:
Resolution:
Invalid
Affected version:

Description

Hello,

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?

Actions #1

Updated by Jean-Philippe Lang about 15 years ago

  • Status changed from New to Closed
  • Affected version (unused) deleted (0.8.5)
  • Resolution set to Invalid
  • Affected version deleted (0.8.5)

Not a defect since Redmine.pm is for subversion users.

Redmine - a mod_perl module to authenticate webdav subversion users
against redmine database

Actions #2

Updated by Felix Schäfer about 15 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.

Actions #3

Updated by Nicolas Chuche about 15 years ago

Hi,

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>
Actions

Also available in: Atom PDF