ReviewBoard / SVN:rbt post无法执行命令[' svn',' diff',' - diff-cmd = diff',' - notice-ancestry',' -r',' BASE']

时间:2014-06-27 20:41:59

标签: svn diff review-board

我尝试将reviewboardSVN一起使用。办公室中的其他人已经完成了他们的系统设置,并且能够发布(第一次使其工作的VM的副本)。我已经将我的系统设置与他们的系统设置进行了比较,就我所知,事情看起来是一样的。

当我运行rbt post命令时,我得到:

  

执行命令失败:[' svn',' diff',' - diff-cmd = diff',   ' - notice-ancestry',' -r',' BASE'] ['索引:main.cpp \ n',   ' ============================================== ===========   ========== \ n','用法:差异[选项] \ n',' \ n','显示不同之处统一之间   diff \ n',"格式。选项是&if; svn描述的iff扩展名   帮助差异,使用' - '单独表示没有更多的选择   按照。\ n"," svn:E200012:'差异'返回2 \ n"]

我已经在我的系统路径中创建了我的svn客户端和gnu diff前两项内容:C:\Program Files (x86)\GnuWin32\bin;C:\Program Files (x86)\CollabNet

我正在运行Windows 8计算机。

阅读https://groups.google.com/forum/#!topic/reviewboard/ylyfqMghJMM看起来其他人已经添加了同样的问题,但似乎没有关于如何解决问题的准确解释。

一些细节。 svn --version给出:

  

svn,版本1.8.9(r1591380)编译于2014年6月6日,03:53:07   x86的微软windows5.1.2600

     

版权所有(C)2014 Apache Software Foundation。这个软件   由许多人的贡献组成;请参阅NOTICE文件   更多信息。 Subversion是开源软件,见   http://subversion.apache.org/

     

以下存储库访问(RA)模块可用:

     
      
  • ra_svn:使用svn网络协议访问存储库的模块。   
        
    • 使用Cyrus SASL身份验证
    •   
    • 处理' svn'方案
    •   
  •   
  • ra_local:用于访问本地磁盘上的存储库的模块。   
        
    • 处理'文件'方案
    •   
  •   
  • ra_serf:使用serf通过WebDAV协议访问存储库的模块。   
        
    • 使用serf 1.3.4
    •   
    • 处理' http'方案
    •   
    • 处理' https'方案
    •   
  •   

diff --version给出:

  

diff(GNU diffutils)2.8.7由Paul Eggert,Mike Haertel,David撰写   Hayes,Richard Stallman和Len Tower。

     

版权所有(C)2004 Free Software Foundation,Inc。这是免费的   软件;查看复制条件的来源。没有   保证;甚至不适用于特定的适销性或适用性   用途

关于我应该检查什么或者我缺少什么的任何想法或想法?我也要发布到谷歌小组,看他们是否有任何想法,如果他们有解决方案,我也会更新这篇文章。


尝试了其他疑难解答步骤:

我发现了一个帖子,我试图解决问题https://subversion.open.collab.net/ds/viewMessage.do?dsForumId=4&dsMessageId=436703。似乎我的Tortious SVN可能因为它首先被安装而引起了这个问题。

我已经卸载了Tortoise和CollabNet,然后重新安装了已安装的CollabNet,然后重新启动了Tortoise。安装TortoiseSVN时,我没有选择"命令行客户端工具"。然后我不得不把GNU Diff放回到系统路径的开头。之后我试着做rbt post并得到了同样的错误。然后我修改了Tortoise SVN安装以包含command line client tools,然后再次尝试并仍然得到相同的错误消息。

2 个答案:

答案 0 :(得分:4)

非常沮丧之后,我们发现了这个问题。我们在机器上有几个不同的差异,GNU Diff以及配合网(我们用于svn)的差异。

Collab net在其目录中有svn.exe。在做where diff时,我能够看到路径和顺序是正确的,其中GNU差异显示在CollabNet的差异之前。但是,在运行命令时正在使用CollabNet的差异,因为collabnet diff与collabnet的svn.exe位于同一目录中。这意味着当操作系统查找diff.exe时,它会检查svn.exe首先位于的本地目录,然后是系统路径。

话虽如此,重命名" diff.exe"在collab net文件夹中将允许引用gnu diff,这解决了问题并允许rbt post正常工作。

答案 1 :(得分:0)

此外,这可能对某些人有帮助。这可能是由于svn尝试对所有不存在的文件进行差异化。 =>转到tortoisesvn设置,选择“常规”,然后单击“ Subversion配置文件”前面的“编辑”按钮。在打开的配置文件中,确保“ diff-ignore-content-type = no”