15 |
15 |
database without an hassle but you need to have apache/mod_perl on the
|
16 |
16 |
svn server.
|
17 |
17 |
|
|
18 |
This can also be useful on other kinds of revision control systems
|
|
19 |
(for instance, Mercurial), but YMMV.
|
|
20 |
|
18 |
21 |
=head1 INSTALLATION
|
19 |
22 |
|
20 |
23 |
For this to automagically work, you need to have a recent reposman.rb
|
... | ... | |
62 |
65 |
# RedmineDbWhereClause "and members.role_id IN (1,2)"
|
63 |
66 |
## Optional credentials cache size
|
64 |
67 |
# RedmineCacheCredsMax 50
|
65 |
|
</Location>
|
66 |
68 |
|
67 |
|
To be able to browse repository inside redmine, you must add something
|
68 |
|
like that :
|
69 |
|
|
70 |
|
<Location /svn-private>
|
71 |
|
DAV svn
|
72 |
|
SVNParentPath "/var/svn"
|
73 |
|
Order deny,allow
|
74 |
|
Deny from all
|
75 |
|
# only allow reading orders
|
|
69 |
# the following is needed to be able to
|
|
70 |
# browse the repository inside redmine
|
76 |
71 |
<Limit GET PROPFIND OPTIONS REPORT>
|
|
72 |
Order deny,allow
|
|
73 |
Deny from all
|
77 |
74 |
Allow from redmine.server.ip
|
|
75 |
Satisfy any
|
78 |
76 |
</Limit>
|
79 |
|
</Location>
|
80 |
77 |
|
81 |
|
and you will have to use this reposman.rb command line to create repository :
|
|
78 |
</Location>
|
82 |
79 |
|
83 |
|
reposman.rb --redmine my.redmine.server --svn-dir /var/svn --owner www-data -u http://svn.server/svn-private/
|
|
80 |
You will have to use this reposman.rb command line to create the repository :
|
84 |
81 |
|
|
82 |
reposman.rb --redmine my.redmine.server --svn-dir /var/svn --owner www-data -u http://svn.server/svn/
|
|
83 |
|
85 |
84 |
=head1 MIGRATION FROM OLDER RELEASES
|
86 |
85 |
|
87 |
86 |
If you use an older reposman.rb (r860 or before), you need to change
|
... | ... | |
108 |
107 |
use Apache2::ServerRec qw();
|
109 |
108 |
use Apache2::RequestRec qw();
|
110 |
109 |
use Apache2::RequestUtil qw();
|
111 |
|
use Apache2::Const qw(:common :override :cmd_how);
|
|
110 |
use Apache2::Const qw(:common :override :cmd_how :satisfy);
|
112 |
111 |
use APR::Pool ();
|
113 |
112 |
use APR::Table ();
|
114 |
113 |
|
... | ... | |
197 |
196 |
sub access_handler {
|
198 |
197 |
my $r = shift;
|
199 |
198 |
|
200 |
|
unless ($r->some_auth_required) {
|
|
199 |
unless ($r->some_auth_required || $r->satisfies == SATISFY_ANY) {
|
201 |
200 |
$r->log_reason("No authentication has been configured");
|
202 |
201 |
return FORBIDDEN;
|
203 |
202 |
}
|
... | ... | |
210 |
209 |
$r->set_handlers(PerlAuthenHandler => [\&OK])
|
211 |
210 |
if is_public_project($project_id, $r);
|
212 |
211 |
|
213 |
|
return OK
|
|
212 |
return OK;
|
214 |
213 |
}
|
215 |
214 |
|
216 |
215 |
sub authen_handler {
|