svn删除文件或历史 因为SVN可以记录相应的信息,请问如果某一个用户不小心上传了几个个感染病毒的doc文件,大家该如何处理? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 安装svn的服务器一般都有杀毒设置的,而且安全的是两个杀毒软件同时杀毒。安全性很高 问题是SVN可以恢复删除掉的文件。如果有用户查看该文档的历史,或者恢复出该文件,不是仍然有病毒么? 不太明白了svn可以通过tortoiseSVN客户端直接上传至SVN服务器,似乎跟服务器的杀毒软件没有什么关系呀。莫非可以将杀毒软件与SVN服务器结合起来,拦截有病毒的文件?可这样的配置从来没见过,如果有的话,请指教。 嗯,这确实是个问题。SVN用于版本控制,删除的文件是可以恢复的。但是SVN里德文件也可以永久删除:http://blog.163.com/tom_suntendy/blog/static/1780753200922032316737/ 你的意思是不是用SVN的delete删除了感染了病毒的plan.doc文件,然后再svn add一个没有病毒的plan.doc文件。但是如果用户通过showlog->open 是否还是能找到之前上传的病毒文件呢? 是的,还可以找到。这种情况你就只能重新再搭建一个svn服务器,重新把没用病毒的传到新建的服务器上。 以下为引用,希望对LZ有帮助:我想用过Subversion的人一定有过这样的问题:“为什么不允许用户修改日志?”,因为这种改变不可还原(目前这个操作还没有受到版本控制的管理),所以这项功能默认是被禁止的。如果要开启它,必须设置一个pre-revprop-change钩子。版本库生成后,hooks目录下就存在一些钩子脚本的模板,用户可以作为参考。这里我们可以把已经存在的pre-revprop-change.tmpl复制一份,将复制后的文件名改为pre-revprop-change.bat,钩子就设置好了。注意Windows下钩子脚本必须以.bat或者.exe的扩展名形式存在。默认的钩子模板使用的是linux下的脚本语言,不能在Windows下运行。所以我们必须重写,这里介绍用批处理文件来写钩子脚本的方法。最简单的允许修改日志的pre-revprop-change.bat连一行都不需要,直接把pre-revprop-change.bat的内容清空就行了,因为按照Subversion的约定,钩子脚本返回0就是允许修改任何属性。(关于钩子脚本的约定可参考这篇文章http://blog.donews.com/foxgem/archive/2005/11/03/613854.aspx)但是假如我们希望作些判断,比如只允许修改日志,而不允许修改用户名或者其他属性,那么下面是一个范例:SET REPOS="%1"SET REV="%2"SET USER="%3"SET PROPNAME="%4"SET ACTION="%5"IF %ACTION% == "M" (IF %PROPNAME% == "svn:log" (EXIT 0))ECHO "Changing revision properties %PROPNAME% is prohibited" >&2EXIT 1利用Subversion的一个程序svnlook,脚本中可以访问的信息就不仅仅只有传递进来的5个参数了,从而可以实现更多的功能。比如判断修改日志的用户是不是以前进行提交的那个作者,如果不是就不允许修改。只允许用户修改自己的svn日志的钩子脚本:for /f "usebackq" %%k in (`svnlook author %1 -r%2`) do @set var=%%kif "%3" == "%var%" goto testif "%3" == "li" goto testexit 1:testif "%4" == "svn:log" exit 0echo Property '%4' cannot be changed >&2exit 1实现每人可以修改自己的log日志,而管理员li可以任意修改。这个例子是从网上摘抄来的,因为手头上缺少svnlook,所以没有进行测试。本文来自[Svn中文网]转发请保留本站地址:http://www.svn8.com/svnpz/20091204/14579.html 通过MyEclipse或者其他工具来打开当前项目所在的SVN目录,这时候你想要这么操作都行 這個我知道。但我目前用的是TortoiseSVN客戶端。 非常感謝,可能我需要研究下hooks Mark我以前都用6楼的方法。看起来SVN确实也需要提供一些强一点的管理员功能了。 求详解 , 不知道在eclipse里边有没有这样一个小工具... JAVA add函数问题 webservice header传用户密码 java中文问题? Struts怎么显示主从表数据 数组的合并 这是j2ee没装好吗? 请问关于JSP方面的问题 struts 分模块后 不正常 急救!!! 关于Service方法的疑问 谁有登录后,在抓取网页数据的例子啊
如果有用户查看该文档的历史,或者恢复出该文件,不是仍然有病毒么?
svn可以通过tortoiseSVN客户端直接上传至SVN服务器,似乎跟服务器的杀毒软件没有什么关系呀。
莫非可以将杀毒软件与SVN服务器结合起来,拦截有病毒的文件?
可这样的配置从来没见过,如果有的话,请指教。
但是SVN里德文件也可以永久删除:http://blog.163.com/tom_suntendy/blog/static/1780753200922032316737/
但是如果用户通过showlog->open 是否还是能找到之前上传的病毒文件呢?
我想用过Subversion的人一定有过这样的问题:“为什么不允许用户修改日志?”,因为这种改变不可还原(目前这个操作还没有受到版本控制的管理),所以这项功能默认是被禁止的。如果要开启它,必须设置一个pre-revprop-change钩子。版本库生成后,hooks目录下就存在一些钩子脚本的模板,用户可以作为参考。这里我们可以把已经存在的pre-revprop-change.tmpl复制一份,将复制后的文件名改为pre-revprop-change.bat,钩子就设置好了。注意Windows下钩子脚本必须以.bat或者.exe的扩展名形式存在。默认的钩子模板使用的是linux下的脚本语言,不能在Windows下运行。所以我们必须重写,这里介绍用批处理文件来写钩子脚本的方法。最简单的允许修改日志的pre-revprop-change.bat连一行都不需要,直接把pre-revprop-change.bat的内容清空就行了,因为按照Subversion的约定,钩子脚本返回0就是允许修改任何属性。(关于钩子脚本的约定可参考这篇文章http://blog.donews.com/foxgem/archive/2005/11/03/613854.aspx)但是假如我们希望作些判断,比如只允许修改日志,而不允许修改用户名或者其他属性,那么下面是一个范例:SET REPOS="%1"
SET REV="%2"
SET USER="%3"
SET PROPNAME="%4"
SET ACTION="%5"IF %ACTION% == "M" (IF %PROPNAME% == "svn:log" (EXIT 0))ECHO "Changing revision properties %PROPNAME% is prohibited" >&2
EXIT 1
利用Subversion的一个程序svnlook,脚本中可以访问的信息就不仅仅只有传递进来的5个参数了,从而可以实现更多的功能。比如判断修改日志的用户是不是以前进行提交的那个作者,如果不是就不允许修改。只允许用户修改自己的svn日志的钩子脚本:for /f "usebackq" %%k in (`svnlook author %1 -r%2`) do @set var=%%kif "%3" == "%var%" goto test
if "%3" == "li" goto test
exit 1:test
if "%4" == "svn:log" exit 0
echo Property '%4' cannot be changed >&2
exit 1
实现每人可以修改自己的log日志,而管理员li可以任意修改。这个例子是从网上摘抄来的,因为手头上缺少svnlook,所以没有进行测试。本文来自[Svn中文网]转发请保留本站地址:http://www.svn8.com/svnpz/20091204/14579.html
非常感謝,可能我需要研究下hooks