質問

ここ数日、この件で気が狂いそうになりました。Hudson Continuous-Integration サーバーのセットアップが完了しました。そのため、コミットごとにビルド スクリプトを実行して、コミットを検証します。問題は、リポジトリ内のすべてのファイルに次の両方が含まれていることを検証することです。 svn:keywords = "Id" そして svn:eol-style = "LF" すべてに設定されたプロパティ .php ファイルを作成するのは、通常は素晴らしいことです (前回これを行ったときは、Eclipse と Tortoise SVN を使用しました。どちらも svn::add 機能があります)。

しかし問題は、私が NetBeans にかなり慣れてしまったことです。NetBeans には何もありません svn add 私が見つけることができる関数(コミット時にファイルを自動的に追加します)。問題は、ファイルが追加されるまでプロパティを追加できないことです。プロパティを追加せずにコミットすると、ビルドは失敗します。そのため、通常は 2 (プロップセット、コミット) だけで済むことを行うのに、5 つのステップ (コミット、再帰的プロップセット、コミット、失敗したビルドの確認、失敗したビルドの削除) を実行する必要があるため、コミットが 1 つおきにビルドに失敗することになります。

現時点では Eclipse に戻りたくはありませんが、すべてを 4 回実行する必要があるためコミットに 20 分もかかると、すぐに古くなってしまいます...私に欠けている回避策はありますか(いずれにせよこれらのプロパティを設定したいので、プロパティチェックを削除することは重要ではありません)。それとも私は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

アップデート:

Netbeans 6.9 は、 ~/.subversion/config 上のファイル 起動する 再起動しないと変更は取得されません。Netbeans を再起動すると、選択したファイルが正しく取得されます。 自動小道具 そして、それらを新しく作成された各ファイルに適用します。

更新 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 は、グローバルおよび個人の両方で、構成ファイルに設定されているあらゆる Subversion 設定を使用できるほどインテリジェントになろうとしていると考えられます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top