| 4226 |
dpurdie |
1 |
REM Maintained in package SubversionServerSupport
|
|
|
2 |
REM
|
|
|
3 |
REM Limit the property chnages that a user can make to:
|
|
|
4 |
REM svn:log (commit comment)
|
|
|
5 |
REM Made by themselves only
|
|
|
6 |
REM On the same day
|
| 4918 |
dpurdie |
7 |
REM [Now allow change to log made on any day]
|
| 4226 |
dpurdie |
8 |
REM
|
|
|
9 |
REM Args %1 - Repo Path
|
|
|
10 |
REM %2 - Rev to be changed
|
|
|
11 |
REM %3 - Authenticated user name
|
|
|
12 |
REM %4 - Name of property to be changed
|
|
|
13 |
REM %5 - Change Type. A,D or M
|
|
|
14 |
|
|
|
15 |
REM These users can do anything
|
|
|
16 |
if %3==xdpurdie goto OK
|
| 1291 |
dpurdie |
17 |
if %3==buildadm goto OK
|
| 4226 |
dpurdie |
18 |
|
|
|
19 |
REM
|
|
|
20 |
REM The rest of this code allows a user to modify his own svn:log (comment) created
|
|
|
21 |
REM today. The date test is brute force.
|
|
|
22 |
|
|
|
23 |
REM Allow log comments to be modified
|
|
|
24 |
if NOT %4==svn:log goto BAD
|
|
|
25 |
if NOT %5==M goto BAD
|
|
|
26 |
|
| 5455 |
dpurdie |
27 |
set SVNLOOK="%VISUALSVN_SERVER%bin\svnlook.exe"
|
| 4226 |
dpurdie |
28 |
|
|
|
29 |
REM User can only modify his own comments
|
|
|
30 |
set muser=error
|
|
|
31 |
for /f "delims=" %%a in ('%SVNLOOK% author -r %2 %1 ') do @set muser=%%a
|
|
|
32 |
if NOT %muser%==%3 goto BADUSER
|
|
|
33 |
|
| 4918 |
dpurdie |
34 |
REM User is allowed to modify comment [Age not longer considered]
|
|
|
35 |
goto OK
|
|
|
36 |
|
| 4226 |
dpurdie |
37 |
REM User can only modify comments made on the same day
|
|
|
38 |
set datestamp=error
|
|
|
39 |
set today=error
|
|
|
40 |
|
|
|
41 |
for /f "delims=" %%a in ('%SVNLOOK% date -r %2 %1 ') do @set datestamp=%%a
|
|
|
42 |
set datestamp=%datestamp:~0,10%
|
|
|
43 |
|
|
|
44 |
for /F "tokens=1-4 delims=/ " %%a in ("%date%") do (
|
|
|
45 |
set YEAR=%%d
|
|
|
46 |
set MONTH=%%c
|
|
|
47 |
set DAY=%%b )
|
|
|
48 |
set today=%YEAR%-%MONTH%-%DAY%
|
|
|
49 |
if NOT %today%==%datestamp% goto BADDAY
|
|
|
50 |
|
|
|
51 |
REM User is allowed to modify comment
|
|
|
52 |
goto OK
|
|
|
53 |
|
|
|
54 |
:BADDAY
|
|
|
55 |
echo User %3 is only allowed to modify svn:log created on the same day >&2
|
|
|
56 |
echo Info. Change User: %muser%. Change Date: %datestamp%. Today: %today%. %date% >&2
|
| 1291 |
dpurdie |
57 |
exit 1
|
|
|
58 |
|
| 4226 |
dpurdie |
59 |
:BADUSER
|
|
|
60 |
echo User %3 is not allowed to modify svn:log created by another user (%muser%) on %1 >&2
|
|
|
61 |
exit 1
|
|
|
62 |
|
|
|
63 |
:BAD
|
|
|
64 |
echo User %3 is not allowed to modify repository properties %4(%5) on %1 >&2
|
|
|
65 |
exit 1
|
|
|
66 |
|
| 1291 |
dpurdie |
67 |
:OK
|
|
|
68 |
exit 0
|