首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以阻止用户使用TortoiseSVN和RapidSVN从服务器上删除文件?

是否可以阻止用户使用TortoiseSVN和RapidSVN从服务器上删除文件?
EN

Stack Overflow用户
提问于 2009-07-28 10:25:10
回答 2查看 2.7K关注 0票数 0

当用户使用TortoiseSVN和RapidSVN时,他看到的是服务器上的文件,因此可以删除这些文件。我想阻止这种情况发生。也许是为了阻止删除的选项?

为了澄清,我希望从服务器删除文件的唯一方法是用户从其本地驱动器中删除该文件,然后将其提交到服务器。我想限制任何用户直接从服务器上删除的能力。

EN

回答 2

Stack Overflow用户

发布于 2009-07-28 11:33:39

一如既往,试图阻止客户端上的任何事情都是本质上不安全的。您的用户可以始终使用不同的客户端。

因此,您需要在服务器端(在存储库本身中)管理访问权限。不幸的是,据我所知,SVN本身只支持“读”和“写”访问级别。授予某人“写”访问权限意味着用户不仅可以修改现有文件,还可以添加新文件和删除现有文件。

您可以通过预提交钩子添加此功能。

票数 2
EN

Stack Overflow用户

发布于 2018-08-27 17:24:30

通过添加预提交钩子来防止删除。在windows中,这可以通过在"Your_SVN_repository\hooks\“中添加”pre- content .bat“来完成,其内容如下。

代码语言:javascript
复制
@echo off
::
:: Stops commits that have deleted/renamed/moved files/folders.
::

setlocal

rem Subversion sends through the path to the repository and transaction id
set REPOS=%1
set TXN=%2

rem check for an delete command in commit
svnlook changed %REPOS% -t %TXN% | findstr /i /m /b D > nul

if %errorlevel% gtr 0  exit 0 else (goto err)

:err
echo. 1>&2
echo Your commit includes files/folder deleted or renamed from repository 1>&2
echo Deletion/Rename is not allowed from repository>&2
echo Please revert the deletion/rename changes 1>&2
exit 1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1193222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档