내 SVN 저장소의 사용자가 특정 파일의 변경 사항을 확인하지 못하도록하고 싶습니다. 나는 다음의 pre-commit hook 스크립트를 사용하여 이것을 수행했다. 그러나 제한된 파일의 수가 증가하고 있으며 변경 사항을 적용하는 속도가 매우 느립니다. 더 효율적인 코딩 방법이 있는지 궁금 해서요, 나는 변화 목록을 가지고 놀았지만 그 일을 할 수는 없습니다. 사전에특정 저장소 파일을 변경하는 사용자를 차단하는 SVN 사전 커밋 (pre-commit) 스크립트
감사
사전 커밋 후크 스크립트 (윈도우 기반의 SVN 저장소) : 다른 SVN 저장소에 "참조 터빈"밖으로
setlocal
:: Inputs from Subversion
set REPOS=%1%
set TXN=%2%
:: Checks if one of the reference files
Rem Check if the commit contains reference files
svnlook changed %REPOS% -t %TXN% | findstr /r /i "^.*referenceparts/part1.txt" > nul
if %errorlevel%==0 (goto RefPart)
svnlook changed %REPOS% -t %TXN% | findstr /r /i "^.*referenceparts/part2.txt" > nul
if %errorlevel%==0 (goto RefPart)
......
.....
etc etc
exit 0
:: Blocks the commit if part are reference
: RefPart
echo. 1>&2
echo ---------------------------------------------------------------------- 1>&2
echo Your commit has been cancelled because you are trying to change a 1>&2
echo part for a reference turbine! Please make a copy of this part and 1>&2
echo save it under a different name. 1>&2
echo ---------------------------------------------------------------------- 1>&2
echo. 1>&2
exit 1
아마도 다른 방법으로 파일을 잠그는 것이 좋겠지 만,'svnlook changed % REPOS % -t % TXN %'만하면 도움이 될 수도 있습니다. (나 또는 findstr이 병목인지는 모르겠습니다.) – crashmstr