2010-09-09 22 views
21

我看到Mercurial的示例忽略了文件Visual Studio等等。Eclipse和Android開發的Mercurial忽略文件

我剛開始玩Android開發,我也用這個時間來試驗Mercurial。 所以我的問題是:沒有人有一個用於Eclipse和Android開發的.hgignore文件的好例子嗎?

對於初學者我有以下自己:

# use glob syntax 
syntax: glob 

# Ignore patterns 
.metadata\ 
bin\ 
gen\ 

是否有任何其他忽略應包括圖案?例如,Eclipse文件.classpath.project是否可以從版本控制中忽略?

- 下面編輯 -

我還沒有完全得到我希望還沒有答案,所以我會拿出一個賞金,並嘗試指定一個更清楚一點什麼我在尋找。

經過一番嘗試,我似乎發現上面列出的.hgignore建議似乎已經足夠。我唯一的補充,是一行.settings(這是我運行Android Tools後出現的文件夾 - > Fix Project Properties)。我還發現(如Ry4an所提到的)Eclipse文件.classpath.project應該是而不是被排除在外。

不過,我不確定這個小忽略文件就足夠了,當我到達項目比基本教程大一點(如果它實際上是所有好,請解釋原因,你會得到信貸) 。所以,總結一下我在尋找:

  • 我想爲Eclipse
  • 下一個.hgignore文件的Android項目具體的例子忽略文件應該是這樣,每當我檢查出庫的副本在新的位置,它應該工作馬上(即不必與路徑和參考一塌糊塗,添加文件丟失等)
  • 也請解釋爲什麼包含文件看起來像它(我想知道爲什麼某些文件/目錄被排除在外(爲什麼一些肯定應該包括在內))
  • 如果包含操作系統特定的排除,也請註明所以(我在Windows 7上運行的BTW)
+0

加入賞金後更新了額外的信息,原來的問題。 – Nailuj 2010-09-13 07:43:29

+0

我不會忽略'.settings'目錄。如果您發現Android插件在某些文件中包含特定於您環境的內容(例如,硬編碼路徑),請單獨忽略這些文件。我也不想在我的工作區創建一個倉庫,所以我通常在我的忽略列表中沒有'.metadata'(這給了我從多個倉庫導入項目的靈活性,但我不確定這是多麼重要那就是你)。 – 2010-09-19 12:01:08

回答

13

日食文件應該肯定會被添加。一般原則是補充:

  • 一切,是手寫/鍵入
  • 其他一切必要措施,建立項目

這最後一個是你的判斷來自於最小的子集。它清楚地排除了您自己構建的.jar文件和最終的.apk文件,但是它包含您使用的第三方.jar文件嗎?有些人確實包括了他們,但更好的是爲像「ivy」這樣的依賴管理器添加一個配置文件,讓下一個構建器自動下載他們需要的需求。

自動創建在我選擇的工具的一個項目,我就做這樣的命令後:

hg status --unknown --no-status >> .hgignore 

其將所有未知文件的列表.hgignore。然後我去和刪除的東西我都想保存(例如:.project文件)和通配符文件將增長兄弟姐妹(如:**類)

+0

+1:'hg status --unknown --no-status >> .hgignore'似乎是一個很好的竅門,謝謝:)由於我對Android開發相當陌生,但是我希望得到一個全面而具體的例子 - 正如你所指出的那樣,這兩者的第二點是最難的部分。 – Nailuj 2010-09-09 16:37:28

+0

只是爲了將來的參考(因爲這將是一個恥辱,遲到的獎金會浪費;):即使不完全具體,這個答案提供了我發現最有用的。至於一個完整的例子,我最終使用了我在原文中寫過的內容(在經過幾周的實驗後,似乎已經足夠了)。 – Nailuj 2010-09-29 18:15:24

+0

非常好,謝謝。 – 2010-09-29 19:27:45

1

以及如果其Android項目比

local.properties也應該忽略

+0

如果來自Android Studio,我認爲是local.properties。 – 2014-04-02 15:29:57

5

這裏是我的hgignore:

syntax: regexp 
\.DS_Store 
.swo 
.swp 
.metadata/ 
/bin/ 

無論是好一個與否是一個單獨的問題

+0

+1爲特定示例。不過,在接受之前,我會稍微等待一些答案/評論,以便更好地分辨這是否是好的;) – Nailuj 2010-09-09 16:39:38

+1

難道你不應該逃避第3-5行的點嗎? – 2010-09-13 07:43:50

+1

安卓專用的'gen \'文件夾至少從這個文件夾中丟失,我確信。 – Nailuj 2010-09-13 07:55:49

1

我發現.hgignore的一個很好的例子爲Android一個很好的樣本.hgignore。這個對我有用。

#Mercurial Ignore Rules for Android 
#Save as .hgignore in the repository base directory and add it to source control. 
syntax: glob 
*.class 
*.apk 
*.dex 
*.ap_ 
*.suo 

syntax: regexp 
^(.*[\\/])?gen[\\/].* 
^(.*[\\/])?bin[\\/].* 
^(.*[\\/])?obj[\\/].* 
^(.*[\\/])?log[\\/].* 
^(.*[\\/])?obf[\\/].* 
^(.*[\\/])?jars[\\/].* 
^(.*[\\/])?jar-sources[\\/].* 
^(.*[\\/])?javadoc[\\/].* 
^(.*[\\/])?\.svn[\\/].* 
^(.*[\\/])?\.metadata[\\/].* 
^(.*[\\/])?\.settings[\\/].* 

來源:http://androidfragments.blogspot.ru/2011/11/hgignore-for-android.html