我有一个使用基本身份validation在Windows 2008 R2 x64上运行的VisualSVN服务器。
我想升级到使用Windows身份validation。
但是,一些设置的用户名与域用户名不匹配。
有没有办法将basic-auth-username别名为domain-username,所以现在有人用domain-username提交时,svn会把它logging为旧的basic-auth用户名?
或者是有没有办法旋转存储库,并find/取代basic-auth用户名提交到域authentication用户名?
或者这可能是不值得的麻烦?
有可能取代历史上的用户名,但有些复杂。 用户名存储在与每个版本相关的svn:author属性中。 svnadmin setrevprop命令可以改变这个属性。
您可以手动执行,但是需要对所有修订运行此命令。 所以我build议使用以下步骤来简化这项工作。
创buildbatch filechg_users.cmd。
@ECHO OFF SET OLDUSER=oldusername SET NEWUSERFILE=user.txt SET REPO=C:\Repositories\test\ SET SVNADMIN="%VISUALSVN_SERVER%bin\svnadmin.exe" SET SVNLOOK="%VISUALSVN_SERVER%bin\svnlook.exe" REM Iterate over all revisions (svnlook history), get author of each revision (svnlook author), REM replace author if necessary (svnadmin setrevprop) FOR /F "delims=/" %%i IN ('%SVNLOOK% history %REPO% ^| FINDSTR ^[0-9][0-9]*') DO %SVNLOOK% author -r %%i %REPO% | FINDSTR %OLDUSER% && %SVNADMIN% setrevprop %REPO% -r %%i svn:author %NEWUSERFILE%
使用OLDUSERvariables设置旧的用户名。 使用REPOvariables设置存储库的path。