如何为具有许多svn:externals的大型项目配置Netbeans subversion

时间:2011-04-26 03:50:47

标签: svn netbeans symfony1 netbeans-6.9

在一个项目中,我们有几个svn:包括引入框架和一些第三方插件。由于框架(Symfony)本身通过svn:externals包含许多其他嵌套库,因此NetBeans可能需要很长时间才能完成自动“扫描项目”的后台工作。在执行“检查外部更改”部分时,它有时会完全卡住。

我试图通过禁用“扫描外部更改”来解决这个问题,但这似乎只会在引入新的不便而不是解决问题的同时减少问题的频率。

我希望有人知道一种方法告诉SVN扫描只能查看我们的存储库以进行更改(这应该只需要几秒钟),而不是嵌套的外部存储库。与使用CLI svn update --ignore-externals命令类似。

后台:在OS X 10.6上运行NetBeans 6.9.1。

1 个答案:

答案 0 :(得分:3)

您可以将--ignore-externals添加到许多svn子命令,例如svn update --ignore-externalssvn st --ignore-externals,但您必须了解如何让Netbeans这样做,因为它拥有自己的svn客户端。< / p>

您可以通过使用以下开关使Netbeans使用命令行svn:

-J-DsvnClientAdapterFactory=commandline

http://wiki.netbeans.org/FaqSvnCli

但除此之外,我不太了解svn / netbeans来强制执行此操作。我在Windows中使用TortoiseGit做的一件事是将TortoiseGit指向git.cmd并在那里进行一些处理,然后使git.cmd从msysgit调用git.exe。你可以尝试一下。设置一个你控制的其他脚本的路径,然后调用svn二进制文件,如下所示?

#!/bin/bash
svn $* --ignore-externals

并将其命名为svn并使其可执行并将其放入路径中。

(让它检查子命令是更新还是状态,然后根据需要添加--ignore-externals,因为Netbeans我认为只是从svn命令行客户端解析输出,并且Subcommand doesn't accept --ignore-externals的其他输出可能搞砸其处理)

是的,不是一个可靠的答案,但我记下了我的思考过程。