Reputation: 33
I have a problem with my pre-revprop-change. I want to allow changes to the log message, but only for the author himself OR a set admin. The code I've edited is this one: https://stackoverflow.com/a/18005347/16739479
I've edited this part, but it doesn't work as it should:
set admin = muellerp
set AUTHOR=
for /f "delims=" %%a in ('svnlook author -r %REV% %REPOS%') do @set AUTHOR=%%a
if /I not '%AUTHOR%'=='%user%' if /I not '%user%'=='%admin%' goto ERROR_WRONGUSER
If I just write
if /I not '%AUTHOR%'=='%user%'goto ERROR_WRONGUSER
everything works perfectly fine, but then the admin can't make changes. I also have tried just to write
if /I not '%user%'=='%admin%' goto ERROR_WRONGUSER
but then it doesn't work as it should, it prints out the message within ERROR_WRONGUSER. I've also tried
if /I not '%user%'=="muellerp" goto ERROR_WRONGUSER
not even this is working, also I've checked the output of %user% is exactly the same as the name, so actually it shouldn't jump to the ERROR_WRONGUSER.
Can somebody help me, I'm pretty confused.
Upvotes: 2
Views: 101
Reputation: 82337
set admin = muellerp
is not the correct syntax.
It should be set "admin=muellerp"
, else you create a variable with the name admin<space>
and the content <space>muellerp
A list of admins can be used by a small improvement, like:
set "admin_list=,mueller,schmidt,schulte,schmidtmeier,"
if "!admin_list!" == "!admin_list:,%user%,=,###,!" echo Not an admin
The IF-condition is true, if both sides are equal.
But if the user exists in the list the right part will be different.
Example:
user=schmidt
then !admin_list:,schmidt,=,###,!
results to ,mueller,###,schulte,schmidtmeier,
Then the complete code looks like
@echo off
setlocal EnableDelayedExpansion
set "admin_list=,muellera,zernacka,"
set "AUTHOR="
for /f "delims=" %%a in ('svnlook author -r %REV% %REPOS%') do set "AUTHOR=%%a"
if /I not "!AUTHOR!" == "!user!" goto :user_accepted
if not "!admin_list!" == "!admin_list:,%user%,=,###,!" goto :user_accepted
echo "!user!" is not accepted
exit /b 1
:user_accepted
Upvotes: 3