我正在開發Android軟件的團隊中工作。一些團隊成員使用Windows,一些使用Mac,並且我知道使用Linux。每個人都使用Eclipse。Eclipse project.properties被認爲有害的反斜槓路徑
Eclipse寫入一個名爲project.properties
的文件;這裏是一個例子。重要的部分是最後三行,即android庫引用路徑。
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-17
android.library.reference.1=../private-code/lib/SomeLibrary
android.library.reference.2=../google-play-services_lib
android.library.reference.3=../FacebookSDK
以上是在Mac或Linux上的Eclipse寫入時文件的外觀。當Windows上的Eclipse寫入時,庫引用行將使用反斜槓書寫。
當然,在Windows中,反斜槓是可接受的路徑分隔符。但在Mac和Linux上,這些路徑不起作用。事情是,在Windows上,正斜槓工作得很好。所以,我們現在的政策是始終以斜線提交文件,以便它適用於所有人。
但是這對我們的Windows用戶來說是一種痛苦,當Windows用戶犯了一個錯誤時,這對我們其他人來說是痛苦的,所以我正在尋找一種技術解決方案。我有兩個想法:
查找在Eclipse中的某處設置在Windows上,告訴它使用向前文件保存路徑時,像
project.properties
斜槓。 (爲什麼這不是默認值?!?)我們使用Mercurial,所以:安裝某種「鉤子」即可解決問題。
- 在Windows計算機上安裝提交掛鉤,以便將文件提交到存儲庫,反斜槓替換爲正斜槓。
- 在Mac和Linux計算機上安裝一個掛鉤;所以如果文件被反斜槓提交,那麼在文件寫入時它們會被修復。
的承諾掛鉤似乎更清潔,因此,如果兩者都可以我會接管拉勾提交掛鉤。
我發現了一個Mercurial擴展,它將選項卡編輯爲空格,這至少與我想要的類似。這足夠複雜,我有點不情願試圖將其修改爲我所需要的。
https://www.mercurial-scm.org/wiki/CheckFilesExtension
另一個策略是增加了檢測的路徑反斜槓鉤,並簡單地中止犯,迫使Windows用戶修復用手文件提交之前。那會比沒有好。
現在面對這個問題。你的團隊解決了哪個解決方案? –
尚未解決。我得出的結論是最好的解決方案是簡單的:如果反斜槓是錯誤的,那麼提交失敗的鉤子就會失敗,而Windows用戶只需要手動修復它。目前,沒有人正在對該文件進行基本修改,所以這個問題並沒有讓我們感到困擾,而且我們都很忙,沒有考慮這個問題。 – steveha