2012-09-20 20 views
15

可能重複:
Which eclipse files belong under Version Control我應該檢查日食設置(.settings)SVN?

我們使用Eclipse IDE開發。 .settings文件夾中總是有變化。有時我們在Eclipse中配置了一些東西,但通常我們會在Eclipse中更改任何東西。

Eclipse在沒有我們任何請求的情況下更改設置?

.settings的最佳做法是什麼?

我應該檢查SVN中的eclipse設置(.settings)還是添加忽略列表?

+2

看來,[根據你的另一個問題](http://stackoverflow.com/questions/12513277/how-can-i-configure-checkstyle-in-maven),你使用的是maven。如果是這樣,那麼你就不必檢查'.settings',因爲整個構建結構都是在pom文件中定義的。 – maba

+0

@maba是的,我正在使用maven .. – Kayser

回答

20

.settings目錄包含–或至少應包含–成功建立在Eclipse,你的項目所需要的重要信息,如用於源代碼,Java編譯器的設置,以及更多的字符編碼。如果您沒有將該目錄提交給SCM,那麼在大多數情況下,您將無法將該項目簽出到新的工作區並立即將其編譯。一個特別敏感的方面是編譯器錯誤/警告的精確配置。如果開發人員將這些設置錯誤,其後果可能會由Eclipse構建失敗造成的破壞,還有破壞代碼的開發人員,以試圖「修復」不存在的錯誤/警告。

每個插件都可以將自己的設置文件提供給目錄,因此可以隨意挑選並忽略不相關的文件,保留重要的文件,例如org.eclipse.jdt.core.prefs

您必須非常小心,不要以某種方式混淆項目特定的設置,否則會破壞其他人的構建。任何個人偏好都應該在工作區級全局更改,這樣配置不會傳播給隊友。

理論上可以強制執行一項策略,即每個人都需要從另一個地方導入特定於項目的設置,並且從不提交它們,但該路線沒有任何優勢,而且在易用性部門顯然較差。

+0

我明白了。不是設置,但可能是一些特定的文件屬於Mycelipse等。對吧? – Kayser

+0

是的,所以儘量在SCM中留下最重要的東西('org.eclipse.jdt。*'等),並且可以自由地排除任何只保留一些可視化配置和類似的設置。 –

+4

如果您正確地配置Maven項目(pom.xml)並使用Maven Eclipse Plugin爲您自動生成這些文件,這實際上並不是必需的...... – torbinsky

2

沒有必要,

,因爲不同的用戶起訴不同的設置和配置。

的設置可以在文本文件中

+0

你是什麼意思與文本文件? – Kayser

0

您可以創建最佳配置,並把它放在SVN進行描述,但是這造成麻煩地獄。

  1. 沒有保證會有人犯下錯誤的設置,每個人都將遭受
  2. 設置需要每次配置變化發生改變。

如果某人沒有任何東西,那麼他可以從它開始,這樣做比較好。

0

直接的答案是否定的。不是因爲該文件最終會更改或不是,而是項目源代碼庫不適用於個人文件設置。

如果您確實需要將這些IDE特定文件放在某個位置,請將其簽入獨立於項目的單獨SVN文件夾。

2

見當你正在使用Maven,我肯定會說不。根據我從事過的項目的經驗,提交這些文件會導致問題,特別是如果您與具有不同環境(OSX/Windows/* nix,文件系統佈局)的人員協作時。

如果您還沒有使用它,我會推薦使用Maven Eclipse插件(http://maven.apache.org/plugins/maven-eclipse-plugin/)自動生成您的Eclipse項目文件。

編輯:

忘了提,或許是最大的原因,我不喜歡犯任何Eclipse項目設置/文件,是因爲它添加到我的VCS歷史上的混亂。我發現這些文件通常會因顯然沒有理由而改變(即首選文件時間戳更改),最多隻會添加額外的更改或最壞的情況下會導致惱人的衝突。

+0

根據我的經驗,他們永遠不會因沒有明顯的原因而改變。只有當項目掌握在不負責任的開發者手中時,纔會發生這種情況,但在這種情況下,您已經有很多其他問題。如果您知道如何正確設置JRE,則環境之間的差異是不存在的。 Eclipse項目中的文件系統佈局當然總是完全一樣。至於Maven Eclipse插件,管理依賴關係和其他一些事情很有用。事實上,我必須禁用它的Maven Builder,因爲它無法處理我使用的Maven功能。 –

+0

「..這些文件通常顯然沒有理由改變..」你是完全正確的。 – Kayser

+0

@凱瑟這些都是你和託賓斯基非常模糊的主張。你沒有編輯這個文件,這是真的,但是如果你停下來思考一下,或者看看實際的差異,你總會找到一個很有道理的變化原因。儘管如此,你可能會使用一個行爲不當的插件,但是你應該選擇其配置文件來忽略,並保留主'org.eclipse.jdt.core.prefs'和類似的。 –