svn - Netbeans 缺少 SVN 添加

标签 svn netbeans continuous-integration netbeans-6.9

在过去的几天里,我一直在为这件事发疯。我们刚刚完成了一个 Hudson 持续集成服务器的设置。所以它每次提交都会运行一个构建脚本来验证提交。问题是它验证了 repo 中的所有文件都具有 svn:keywords = "Id"svn:eol-style = "LF"在所有 .php 上设置的属性文件,这通常会很棒(我上次这样做时,我使用了 Eclipse 和 Tortoise SVN,它们都具有 svn::add 功能)。

但问题是我已经非常习惯 Netbeans。而 Netbeans 没有 svn add我可以找到的功能(它在提交时自动添加文件)。问题是在添加文件之前我无法添加属性。如果我提交而不添加属性,构建将失败。因此,我每次提交都会导致构建失败,因为我需要采取 5 个步骤(提交、递归 propset、提交、确认构建失败、删除失败构建)来执行通常只需要 2 个步骤(propset、提交)的操作。

在这一点上,我真的不想回到 Eclipse,但是当我需要 20 分钟来提交时,因为我需要做 4 次所有事情,它会很快变老......我有什么解决方法吗?缺少(缺少删除属性检查,这将破坏这一点,因为无论如何我都希望设置这些属性)?还是我只是SOL?...

最佳答案

Subversion 有一个 ~/.subversion/config允许您自定义许多不同设置的文件,其中包括自动 Prop ,根据文件扩展名在文件上自动设置的属性:

因此,假设 Netbeans 尊重该文件,您可以通过更改 [auto-props] 来告诉 svn 自动设置这些属性。要包括的部分 *.php = svn:eol-style=LF;svn:keywords=Id
例如:

[auto-props]
# here's yours
*.php = svn:eol-style=LF;svn:keywords=Id
# and one with multiple keywords
*.c = svn:eol-style=native;svn:keywords=Author Date Rev Id HeadURL
# and one with a mime-type
*.png = svn:mime-type=image/png

更新 :

Netbeans 6.9 似乎在 ~/.subversion/config 中读取文件在启动时不会在没有重新启动的情况下拾取更改。重新启动 Netbeans 后,它会正确选取我选择的自动 Prop 并将它们应用于每个新创建的文件。

更新 2 :

Netbeans 在启动时似乎会读取全局和个人 subversion 配置文件(以及许多其他 subversion 文件)。这是 strace 看到的相关部分:
stat("/home/kibab/.subversion/config", {st_mode=S_IFREG|0644, st_size=4576, ...}) = 0
open("/home/kibab/.subversion/config", O_RDONLY) = 28
open("/etc/subversion/config", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/home/kibab/.netbeans/6.9/config/svn/config/config", {st_mode=S_IFREG|0644, st_size=825, ...}) = 0
stat("/home/kibab/.netbeans/6.9/config/svn/config", {st_mode=S_IFDIR|0755, st_size=61, ...}) = 0
open("/home/kibab/.netbeans/6.9/config/svn/config/config", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 28

进一步的检查似乎意味着一旦它读取了配置文件,它就会写出它存储在 O_TRUNC 的配置文件的副本(使用 ~/.netbeans/6.9/config/svn/config/config )。 (至少在 Linux 上)。

基于此,我假设 Netbeans 正在尝试足够智能以使用您在配置文件中设置的任何颠覆设置,包括全局和个人。

关于svn - Netbeans 缺少 SVN 添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3419210/

相关文章:

node.js - 有没有任何nodejs项目可以包装svn命令?

java - Netbeans JTable 分页

eclipse - Subversion、VisualSVN 服务器出现 "Key usage violation in certificate"错误

python - 将 STDIN 传递给一个本身被传递给 Python 解释器的脚本?

java - 将带有嵌入式数据库的 netbeans 项目转换为独立的 java 程序

java - Netbeans 的 Java 代码中的 while 循环

continuous-integration - 多个功能分支和持续集成

Jenkins 构建挂起

tfs - 支持 Git 和门控 checkin 的持续集成软件?

svn - 在 IntelliJ 中合并来自 SVN 的两个分支,而不使用命令提示符