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