2010-09-09 4 views
21

Widziałem próbki dla Mercurial plików ignorowania dla Visual Studio, między innymi.Mercurial Ignore-file dla Eclipse i rozwoju Androida

Właśnie zacząłem grać z Androidem, a także wykorzystuję ten czas do eksperymentowania z Mercurial. Moje pytanie brzmi: czy ktoś ma dobry przykład pliku .hgignore, który można wykorzystać do programowania Eclipse i Android?

Na początek mam następujący sobie:

# use glob syntax 
syntax: glob 

# Ignore patterns 
.metadata\ 
bin\ 
gen\ 

Czy istnieje inny ignorować wzory, które powinny być zawarte? Czy na przykład pliki Eclipse .classpath i .project są również pomijane w kontroli wersji?

- Edycja poniżej -

Nie dość dostał odpowiedź mam nadzieję na jeszcze, więc ja zgasić bounty i spróbować określić nieco jaśniejsze co szukam .

Po trochę eksperymentowania, wydaje mi się, że sugerowane .hgignore wymienione powyżej wydaje się wystarczające. Jedynym dodatkiem, jaki zrobiłem, jest jedna linia z .settings (był to folder, który pojawił się po uruchomieniu Android Tools -> Napraw Właściwości Projektu). Zauważyłem również (jak wspomniał Ry4an), że pliki Eclipse .classpath i powinny być wykluczone.

Jestem jednak pewności, że ten mały ignorować plik będzie wystarczająca, gdy dotrę do projektów nieco większych niż podstawowe tutoriale (jeśli faktycznie jest wszystko dobry, proszę wyjaśnić dlaczego, a dostaniesz kredytu) . Tak aby podsumować to, co szukam:

  • Chcę konkretny przykład dla pliku .hgignore dla projektu Android pod Eclipse
  • Ignoruj ​​pliku powinno być tak, że ilekroć sprawdzić kopię repozytorium w nowej lokalizacji powinien działać od razu (tzn. bez bałaganu ze ścieżkami i odniesieniami, dodawać brakujące pliki itp.)
  • Proszę również wyjaśnić, , dlaczego Twój plik dołączany wygląda tak, jak robi (Chcę zrozumieć, dlaczego pewne pliki/katalogi są wykluczone (i dlaczego niektóre z nich powinny być dołączone))
  • Jeśli to OS szczególnych wykluczeń, należy również stwierdzić, tak (biegnę na Windows 7 btw.)
+0

Aktualizacja oryginalnego pytanie dodatkowych informacji po dodaniu nagrodę. – Nailuj

+0

Nie zignorowałbym katalogu '.settings'. Jeśli zauważysz, że wtyczka do systemu Android zawiera elementy specyficzne dla Twojego środowiska (np. Ścieżki zakodowane na stałe) w niektórych plikach w obrębie, zignoruj ​​te pliki pojedynczo. Wolę też nie tworzyć repozytorium poza moim obszarem roboczym, więc zazwyczaj nie mam na liście ignorowania '.metadata' (to daje mi możliwość importowania projektów z wielu repozytoriów, chociaż nie jestem pewien, jak ważne jest to jest dla ciebie). –

Odpowiedz

13

Pliki eclipse powinny zostać dodane.Ogólną wskazówką jest dodanie:

  • wszystko, co jest napisane ręcznie/wpisane
  • minimalny podzbiór wszystkiego innego niezbędnego do budowania projektu

To ostatnie jest, gdy orzeczenie wchodzi. Wyraźnie wyklucza się pliki .jar, które sam tworzysz, oraz ostateczny plik .apk, ale czy zawiera on plik .jar innej firmy? Niektóre osoby dołączają je, ale lepiej jest dołączyć plik konfiguracyjny dla menedżera zależności, takiego jak "ivy", który pozwala następnemu budowniczemu pobierać wymagania, które są im potrzebne automatycznie.

Po automatycznego tworzenia projektu w moich narzędzi wyboru, po prostu wykonaj polecenie tak:

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

który dodaje listę wszystkich nieznanych plików .hgignore. Potem idę i usunąć rzeczy, które chce zapisane (ex: .project) i plików zastępczych, które będą rosły rodzeństwa (np. ** klasa)

+0

+1: Status 'hg --unknown --no-status >> .hgignore' wydaje się być miłym trikiem, dziękuję :) Ponieważ jestem całkiem nowy w rozwoju Androida, miałem jednak nadzieję na kompleksowy i konkretny przykład - jak podkreślasz, drugi punkt z obu jest trudny. – Nailuj

+0

Tylko dla przyszłych odniesień (i, jak byłoby to wstydem spóźnić się, nagroda pójdzie na marne;): nawet jeśli nie jest całkowicie konkretna, ta odpowiedź zapewniła to, co uważam za najbardziej przydatne. Jeśli chodzi o pełny przykład, skończyło się na tym, co napisałem w oryginalnym poście (a to wydaje się wystarczające, po kilku tygodniach eksperymentowania). – Nailuj

+0

Doskonale, dzięki. –

1

dobrze, jeśli jego android projekty niż

local.properties powinny również być ignorowane

+0

Myślę, że local.properties, jeśli z Android Studio. –

5

Oto moja hgignore:

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

Czy to dobry czy nie, jest kwestią odrębną

+0

+1 dla konkretnego przykładu. Będę jednak trochę poczekać na więcej odpowiedzi/komentarzy przed zaakceptowaniem, aby lepiej określić, czy jest dobry, czy nie;) – Nailuj

+1

Nie powinieneś uciekać z kropek w liniach 3-5? –

+1

Z pewnością jest to folder specyficzny dla Androida 'gen \', którego jestem pewien. – Nailuj

1

znalazłem dobry przykład .hgignore. Mi to pasuje.

#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[\\/].* 

Źródło: http://androidfragments.blogspot.ru/2011/11/hgignore-for-android.html