代码之家  ›  专栏  ›  技术社区  ›  Tony Giaccone

为什么我不能从命令行删除.svn目录中的条目文件?

  •  1
  • Tony Giaccone  · 技术社区  · 15 年前

    首先,这些都是在MacOSX 10.6.4版上完成的

    find . -name .svn -exec rm -fr .svn {} \;
    

    我收到这样的信息:

    rm: ./repository/entity/.svn: Directory not empty
    

    我查了一下目录,结果是这样的:

    $ ls -ld .
    -r--r--r--  1 tgia  staff  1250 Aug 13 10:48 entries
    

    该文件的父目录如下所示:

    $ ls -ld .
    drwxr-xr-x  4 tgia  staff  136 Aug 20 16:55 .
    

    好的,更改文件的权限:

    $ chmod u+w entries 
    chmod: Unable to change file mode on entries: Operation not permitted 
    

    $ sudo chmod u+w entries
    Password:
    chmod: Unable to change file mode on entries: Operation not permitted
    

    幸运的是root可以删除它们。。。

    4 回复  |  直到 15 年前
        1
  •  6
  •   dar512    15 年前

    在用户界面中,您可以在“获取信息”窗口中设置或取消设置它。单击“锁定”复选框。

    在命令行上使用 chflags uchg filename chflags nouchg filename 使不安。

        2
  •  2
  •   Greg Hewgill    15 年前

    我不确定你的命令行是否正确。尝试:

    find . -name .svn | xargs rm -rf
    

    rm -fr .svn subdir1/.svn
    rm -fr .svn subdir2/.svn
    

    也就是说,你有一个额外的 .svn 在那里。

        3
  •  2
  •   Bertrand Marron    15 年前

    find . -name .svn -exec rm -fr .svn {} \;

    应该是

    find . -name .svn -exec rm -fr {} \;

        4
  •  1
  •   Hans-Christoph Steiner    14 年前

    find .svn -type f |xargs sudo chflags nouappnd,nouchg