我开车我自己疯狂过在这个一个过去几天。我们刚刚完成了设立哈德森持续集成服务器。所以它运行构建脚本每个提交验证提交。问题是,它验证了在回购协议中的所有文件同时拥有对所有svn:keywords = "Id"文件,这通常会是巨大的设置svn:eol-style = "LF".php属性(我最后一次这样做,我用Eclipse和乌龟SVN,这都有SVN ::添加功能)。

但问题是,我已经长大很习惯了Netbeans的。和Netbeans没有svn add功能,我可以找到(它添加文件时自动提交)。问题是,直到文件被添加,我不能添加的属性。如果我承诺不添加特性,构建就会失败。所以我拉闸未能生成所有其他承诺,因为我需要5个步骤(提交,递归propset命令,承诺,承认失败的构建,删除构建失败),做一些事情,通常只需要2(propset命令,提交)。

我真的不想回去的Eclipse在这一点上,但是当它需要我20分钟犯,因为我需要做的一切的4倍,这将老去快速...有一些变通方法我失踪(删除属性检查,这将击败点的短,因为我想让这些属性呢设定)?还是我只是SOL?...

有帮助吗?

解决方案

Subversion有~/.subversion/config文件,允许您自定义多种不同的设置,其中之一是的自动道具的,是基于其扩展名的文件自动设置属性:

因此,假设Netbeans的方面该文件,你能告诉SVN通过改变[auto-props]部自动设定这些属性包括*.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

<强>更新

6.9 Netbeans的出现在上启动~/.subversion/config文件中读取并且不拾取改变而不重新启动。 Netbeans的重新启动后,它正确地拿起我的选择的自动道具的,并将其应用于每个新创建的文件。

<强>更新2

Netbeans的出现通过全局和个人颠覆配置文件二者来读取(许多其它的颠覆文件中),当它启动。下面是通过使用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是试图成为智能足够使用任何颠覆设置,在您的配置文件已设置,全局和个人。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top