2012-09-20 126 views
15

可能性の重複:
Which eclipse files belong under Version ControlEclipseの設定(.settings)をSVNにチェックインする必要がありますか?

我々は開発するためのEclipse IDEを使用しています。 .settingsフォルダには常に変更があります。 Eclipseで何かを設定していることもありますが、通常はEclipseで何かを変更します。

Eclipseは私たちのリクエストなしに設定を変更しますか?

.settingsのベストプラクティスは何ですか?

SVNのEclipse設定(.settings)をチェックするか、無視リストに追加する必要がありますか?

+2

それはあなたのmavenを使用していると思われます。[別の質問による](http://stackoverflow.com/questions/12513277/how-can-i-configure-checkstyle-in-maven)もしそうなら、 '.settings'をチェックインする必要はありません。ビルド構造全体がpomファイルで定義されているからです。 – maba

+0

@mabaはい私はMavenを使用しています。 – Kayser

答えて

20

.settingsディレクトリは–が含まれているか、少なくとも、そのようなソースコード、Javaコンパイラの設定、および大いに多くのために使用される文字エンコーディングとして成功したEclipseの、内部のプロジェクトをビルドするために必要な–重要な情報が含まれている必要があります。そのディレクトリをSCMにコミットしないと、ほとんどの場合、プロジェクトを新しいワークスペースにチェックアウトしてすぐにコンパイルできるようになります。特に敏感な部分は、コンパイラのエラー/警告の正確な設定です。開発者がこれらの設定を間違えた場合、その結果は、Eclipseビルドの失敗による不満から、存在しないエラーや警告を「修正」するためにコードを壊す開発者にまで及ぶ可能性があります。

各プラグインは独自の設定ファイルをディレクトリに追加することができますので、無関係なものを除外して無視してください。重要なものはそのまま残してください(org.eclipse.jdt.core.prefsなど)。

他の人のためにビルドを壊すような方法でプロジェクト固有の設定を混乱させないように注意する必要があります。個人設定は、ワークスペースレベルでグローバルに変更する必要があります。そのため、この構成はチームメイトに伝播しません。

誰もがプロジェクト固有の設定を別の場所からインポートしてコミットする必要がないポリシーを理論的に実施することができますが、そのルートは利点がなく、使いやすさの点で明らかに劣ります。

+0

私はそれを得た。設定ではなく、特定のファイルがMycelipseなどに属している可能性があります。 – Kayser

+0

はい、SCMに最も重要なもの( 'org.eclipse.jdt。*'など)を残しておき、いくつかの視覚化設定などを保持している設定を自由に除外してみてください。 –

+4

Mavenプロジェクト(pom.xml)を適切に設定し、Maven Eclipseプラグインを使用してこれらのファイルを自動的に生成する場合、これは実際には必要ありません。 – torbinsky

2

不要、

異なるユーザが異なる設定と設定を訴えるため。

設定では、あなたは最高の設定を作成し、SVNでそれを置くことができるテキストファイルに

+0

テキストファイルはどういう意味ですか? – Kayser

0

を記述することができますが、これは、トラブルの地獄を作成します。

  1. 誰かが間違った設定をコミットし、誰もが
  2. 設定は、設定の変更が起こるたびに変更する必要があります苦しむという保証はありません。

何らかのものがない場合は、参考にすることをお勧めします。

0

ストレートな答えはありません。このファイルは最終的に変更されますが、プロジェクトソースコードリポジトリは個人用のファイル設定用ではありません。

これらのIDE固有のファイルを実際に配置する必要がある場合は、プロジェクトとは別の別のSVNフォルダにチェックインしてください。

9

mavenを使用してビルドを管理しているため、.settingsをソース管理下に置く必要はありません。

mavenを使用すると、Eclipseの設定に依存せずに他のIDEを使用することができます。

あなたはMavenを使用しているとして、私は間違いなくノーと言うだろうもShould Eclipse-specific files in an VCS be ignored, if using Maven?

2

参照してください。これらのファイルをコミットした私の経験から、特に異なる環境(OSX/Windows/* nix、ファイルシステムレイアウト)を持つ人々と共同作業する場合、問題が発生します。

まだ使用していない場合は、Maven Eclipseプラグイン(http://maven.apache.org/plugins/maven-eclipse-plugin/)を使用してEclipseプロジェクトファイルを自動的に生成することをおすすめします。

編集:

は、おそらく最大の理由は、私はすべてのEclipseプロジェクトの設定/ファイルをコミットするために好きではないことを言及し忘れたので、それは私のVCS履歴に追加されます乱雑です。私は、これらのファイルが明らかに理由(つまり、環境設定ファイルのタイムスタンプ変更)のために変更されることが多く、余分な変更を加えたり、最悪の場合は紛らわしい矛盾を引き起こすことがあります。

+0

私の経験では、彼らは明白な理由のために変わることはありません。これは、プロジェクトが無責任な開発者の手に渡っている場合にのみ発生しますが、その場合、他にも多くの問題があります。 JREを正しく設定する方法がわかっている場合、環境の違いは存在しません。もちろん、Eclipseプロジェクト内のファイルシステムのレイアウトは常に正確に同じです。 Maven Eclipse Pluginに関しては、依存関係を管理するのに便利です。実際に私が使用するMavenの機能を処理することができないので、Maven Builderを無効にする必要があります。 –

+0

"..これらのファイルは明らかに何の理由もなく変化します.."あなたは絶対に正しいです。 – Kayser

+0

@Kayserこれは、あなたとtorbinskyによってかなり漠然とした主張です。ファイルを編集したわけではありませんが、それほど真実ですが、1秒間考えるのをやめたり、実際の差分を見ると、変更の正当な理由が必ず見つかるでしょう。しかし、あなたは誤ったプラグインを使っている可能性がありますが、configファイルをチェッカーして無視するだけで、メインの 'org.eclipse.jdt.core.prefs'とそれに類するものを残すべきです。 –

関連する問題