使用Subversion设置Symfony 2.1时出现错误E155010

时间:2012-10-11 04:12:18

标签: svn symfony symfony-2.1

我正在使用Symfony 2.1.2和Subversion版本1.7.6(r1370777)。

我正在尝试使用Subversion使用以下手册设置Symfony项目:http://symfony.com/doc/current/cookbook/workflow/new_project_svn.html

但是在运行命令svn propset svn:ignore "*" app/cache/svn propset svn:ignore "*" app/logs/时出错。这是错误消息:

D:\xampp\htdocs\symfo-app-21>svn propset svn:ignore "*" app/cache/
'.travis.yml' is not under version controlsvn: E155010: The node 'D:\xampp\htdocs\symfo-app-21\.trav
is.yml' was not found.

D:\xampp\htdocs\symfo-app-21>svn propset svn:ignore "*" app/logs/
'.travis.yml' is not under version controlsvn: E155010: The node 'D:\xampp\htdocs\symfo-app-21\.trav
is.yml' was not found.

可能是什么问题。另外,我将使用NetBeans 7.2 IDE,也许有一种方法可以通过NetBeans 7.2忽略与cookbook上的命令行版本匹配的文件夹?

1 个答案:

答案 0 :(得分:2)

此错误是由svn客户端造成的愚蠢造成的。我在Windows上遇到了同样的“问题”(哈哈,得到它?)。

svn客户端将星号解释为通配符,因此将匹配通配符的每个文件替换为命令行的参数。因此:

svn propset svn:ignore "*" app/cache/

被解释为:

svn propset svn:ignore "D:\xampp\htdocs\is.yml" app/cache/

由于“D:\ xampp \ htdocs \ is.yml”不受版本控制,命令行客户端会抛出错误。我知道,这种默认行为没有意义。

有三种方法可以解决这个问题。

  1. 将通配符放入文件中,并使用以下文件执行propset:

    echo * > temp-svnignore
    svn propset svn:ignore -F temp-svnignore app/cache/ app/logs/
    del temp-svnignore
    
  2. 使用propedit:

    set EDITOR=notepad
    svn propedit svn:ignore app/cache/ app/logs/
    
  3. 使用此方法,将为要为其设置属性的每个路径打开一个编辑器窗口。在上面的示例中,将按指定的顺序依次打开两个编辑器窗口。

    1. 指定与当前目录中的任何内容都不匹配的通配符:

      svn propset svn:ignore *.php app/cache/
      svn propset svn:ignore *.log app/logs/