@echo off
set svnlook="D:\Subversion\bin\svnlook.exe"
set repos=%1
set txn=%2
%svnlook% changed -t %txn% %repos%|findstr /做袜睁I "mts$"
if %errorlevel% EQU 0 (goto err1)
%svnlook% changed -t %txn% %repos%|findstr /I "avi$"
if %errorlevel% EQU 0 (goto err1)
%svnlook% changed -t %txn% %repos%|findstr /I "mov$"
if %errorlevel% EQU 0 (goto err1)
%svnlook% changed -t %txn% %repos%|findstr /I "mpg$"
if %errorlevel% EQU 0 (goto err1)
%svnlook% changed -t %txn% %repos%|findstr /I "mpeg$"
if %errorlevel% EQU 0 (goto err1)
%svnlook% changed -t %txn% %repos%|findstr /I "tif$"
if %errorlevel% EQU 0 (goto err1)
%svnlook% changed -t %txn% %repos%|findstr /I "exe$"
if %errorlevel% EQU 0 (goto err1)
%svnlook% changed -t %txn% %repos%|findstr /I "ai$"
if %errorlevel% EQU 0 (goto err1)
%svnlook% changed -t %txn% %repos%|findstr /I "flv$"
if %errorlevel% EQU 0 (goto err1)
%svnlook% changed -t %txn% %repos%|findstr /I "eps$"
if %errorlevel% EQU 0 (goto err1)
%svnlook% changed -t %txn% %repos%|findstr /I "thumbs.db$"
if %errorlevel% EQU 0 (goto err2)
%svnlook% changed -t %txn% %repos%|findstr /I "~"
if %errorlevel% EQU 0 (goto err2)
%svnlook% changed -t %txn% %repos%|findstr /I "\/\."
if %errorlevel% EQU 0 (goto err2)
:ok
exit 0
:err1
echo. >&2
echo 错误:禁止提交类型为 MTS,AVI,mov,MPEG,flv,tif,ai,eps,exe,db 类型的文件好知 ... >&2
exit 1
:err2
echo. >&2
echo 错误:禁止提交 thumbs.db 文件,或者文件名含 ~ 的文件 ... >&2
exit 1
方法如下:
1,如果SVN服务器的用户ID和权限管理是基于 *** 作系统用户的,那么可以通过设置不同 *** 作系统用乎携世户对各文件夹岁肢的权限来限制;
2,如果SVN服务器的用户ID和权限管理是基于Apache的,那么只能考虑从钩子程序下手了,研究一下pre-commit这个钩子吧,这个钩子是在正式提交 *** 作之前服务器端自动执行的,你可以编写这个钩子,在隐锋commit时检查是否删除文件夹,如果是则返回错误信息。
能限制文件类型不能限制某个文件夹,如果某个文件夹永远不需要更新的话,那你把这个文件夹下面所有的.svn文件都删除掉就可以了。业内最活跃的软件配置管理社区scmeye,不知道?你已经OUT了!
业内首款完全免费的一站式SVN配置管理平台skyline,有木有!
业内最顶尖的专家视频教程,周周联播,在线答疑,有木有晌物!
有问必答区快速解决你的问题,信不信?试试就知道!
想通过内部推樱谨码荐渠道入职国内外知名企业,已经不脊哪是梦想啦!
想成为国内首个虚拟上市的社区主人么?完全在于你自己!
百度搜索“scmeye”即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)