如何让SVN忽略写保护目录?

时间:2011-08-05 06:17:22

标签: svn unix permissions

我对SVN很新,这让我疯了!这是基本问题:

我正在开发一个允许用户上传源代码的网站。在名为“提交”的子目录中,存储所有上载。 虽然网络服务器对提交有写入权限,但我没有。我正在使用SVN对我的php和文本文件进行版本控制,但它一直被锁定。如果可能的话,我希望SVN保留上传提交的存档,我不介意由于文件权限而无法恢复它们。

问题是SVN保持锁定,它告诉我清理,清理告诉我“提交”不是工作副本目录,我不允许在我的正常工作流程中提交更改,删除文件或执行任何其他操作。有什么建议吗?

[mark@srv-web1 ~]$ svn commit -m "added report"
svn: Working copy '/var/www/sites/testPortal' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
[mark@srv-web1 ~]$ svn cleanup
svn: 'submissions' is not a working copy directory
[mark@srv-web1 ~]$ svn remove submissions
svn: Working copy '.' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
[mark@srv-web1 ~]$ ls -la submissions
total 32
drwxrwxrwx  7 nginx nginx 4096 Aug  4 03:22 .
drwxrwxrwx 10 root  root  4096 Aug  5 01:36 ..
drwxr-xr-x  2 nginx nginx 4096 Aug  4 00:04 114
drwxr-xr-x  2 nginx nginx 4096 Aug  4 02:10 116
drwxr-xr-x  2 nginx nginx 4096 Aug  4 02:40 117
drwxr-xr-x  2 nginx nginx 4096 Aug  4 02:15 118
drwxr-xr-x  2 nginx nginx 4096 Aug  4 03:22 119
-rw-r--r--  1 nginx nginx    1 Aug  4 01:51 uploads.txt

2 个答案:

答案 0 :(得分:2)

最简单的方法是将所有这些文件chgrp到你所在的组,然后更改权限以给自己写访问权限(g + w)。对目录使用权限2775,它将添加组粘滞位,因此在该目录中创建的所有文件都将具有目录组 - 即使创建者(在这种情况下为nginx)不在该组中。

答案 1 :(得分:1)

如果问题是您希望某些文件不受版本控制,您只需在保存所需目录的目录中设置svn:ignore属性即可。

您还可以查看具有洞察力的SO question 很多 与您的问题有点相关的优点。