Subversion 已禁用对目录的写入权限

Subversion has disabled write permissions to directory

Using Bash on Ubuntu on Windows 10.svn目录结构如下: /student/2017/s1/EM/otherdirs

我最近在本地重组了一个提交的目录(称为 EM),当我试图在 svn 上提交更改时,我在某个地方犯了一个错误(deleting/adding 目录的很多尝试),现在是父目录EM (s1) 没有写入权限。

Running ls -l in 2017 dir:  
dr-xr-xr-x 2 root root 0 May 6 11:01 s1  
drwxrwxrwx 2 root root 0 May 7 13:57 s2

我已按照 SE 上其他问题的建议在 s1 上尝试 运行 chmod 和 chown 命令,但它们不起作用。

这一切都发生在昨天,我不记得 svn 给我的确切错误,但它与 WC 数据库有关(不确定那是什么)。如何使目录 s1 可写?

编辑:已解决。 Ubuntu 在 Windows 终端上的 Bash 无法使用已接受的答案,因此我尝试使用 运行 Cygwin 作为管理员并能够更改权限

chmod 和 chown 应该可以工作。 试试 sudo'g 因为所有者可能是 root 而你的 id 可能没有 root 用户权限。 chmod 和 chown 应该可以工作,没有理由不能工作。

chmod a+w s1 将授予所有用户写入权限。由于它是一个目录,您可能需要对目录中的每个文件应用写访问权限。以下代码将执行此操作:

chmod -R a+w s1

为了更深入地解释chmod命令,共有9个权限类别。有 3 种类型的权限(读、写、执行)和 3 个组(所有者、组、其他)。所有者就是文件的所有者。 group 由与所有者相同的 "group" 中的所有用户组成;如果所有者是 sudo,则包括所有 sudo 用户。通常这不会使用太多。 others 包括其他所有人。

chmod通常使用的方式是这样的:

chmod [-R] [u][g][o][a][+|-][r][w][x]

使用 -R 以递归方式应用于目录的所有子元素。第一部分如下所示:

chmod [-R] [u][g][o][a]

u 指定更改将应用​​于所有者。 g 包括该组。 o 包括所有其他人。 a 包括所有人(因此等同于 ugo)。

第二部分是这样的:

chmod [-R] <target>[+|-][r][w][x]

+ 将权限添加到目标,- 删除它们。 r 用于读取,w 用于写入,x 用于执行。

这意味着对于您的情况,根据您是只希望自己拥有写访问权限还是希望每个人都获得写访问权限,请使用以下内容:

chmod [-R] a+w s1

或将 a 替换为适当的目标。