Windows TO Max os x —— Svn代码提交
迁移到Mac以后出现svn无法提交的情况,一开始以为是没有足够的权限去操作,经过努力终于以root身份登录了Mac以后还是如此。出现的错误提示如下:svn: Can't move '.svn/tmp/entries' to '.svn/entries': Operation not permitted
ls -l查看到这个文件的操作的确是不允许root操作的,只允许拥有者进行写操作,于是尝试使用chmod修改mode,结果被拒绝:chmod: Unable to change file mode on entries: Operation not permitted, 可怜的root。。。
看来root也是由很多被限制的,经过搜索在StackOverFlow上找到了答案,原来是svn自己设置的结果,解决问题的方式是在svn的根目录下执行命令:
chflags -R nouchg .
(不要漏了“.”号)
第一次看到chflags命令,查询了下文档,原来svn将一些文件的flag设置成了uchange(immutable),所以在提交或者更新svn前需要清除这个flag,好像只有root和owner由权限,上面的命令也就是做这个的,将当前目录以及所有子目录的flag清理,这样svn就可以正常使用了。
Categories: Mac, Subversion