Mercurial ignore-plik dla Eclipse i Android development

Widziałem między innymi sample do plików Mercurial dla Visual Studio.

Właśnie zacząłem bawić się z rozwojem Androida, a także wykorzystuję ten czas do eksperymentowania z Mercurialem. więc moje pytanie brzmi: czy ktoś ma dobry przykład pliku .hgignore do wykorzystania w Eclipse i rozwoju Androida?

Na początek sam mam:

# use glob syntax
syntax: glob

# Ignore patterns
.metadata\
bin\
gen\

Czy są jakieś inne wzorce ignorowania, które powinny być uwzględnione? Powinien na przykład pliki Eclipse .classpath i .project również zostaną pominięte w kontroli wersji?

-- Edit below --

Nie dostałem jeszcze odpowiedzi, na które liczyłem, więc zgłaszam nagrodę i postaram się sprecyzować nieco jaśniej, czego szukam.

Po kilku eksperymentach, wydaje mi się, że sugerowane .hgignore wymienione powyżej wydają się być wystarczające. Jedynym dodatkiem, który zrobiłem, jest jedna linia z .settings (to był folder, który pojawił się po uruchomieniu Android Tools - > Fix Project Properties ). Odkryłem również (jak wspomniał Ry4an), że pliki Eclipse .classpath i .project powinny , a nie być wykluczone.

Jestem jednak niepewny, czy ten mały plik ignorowania będzie wystarczający, gdy dostanę się do projektów nieco większych niż podstawowe samouczki(jeśli rzeczywiście jest {29]} wszystko dobrze, proszę wyjaśnić, dlaczego, a dostaniesz kredyt). Podsumowując to czego szukam:

  • chcę konkretnego przykładu dla .hgignore plik dla projektu Android pod Eclipse
  • ignorowany plik powinien być taki, że za każdym razem, gdy sprawdzam kopię repozytorium w nowej lokalizacji, powinien on działać od razu (tzn. bez bałaganu ze ścieżkami i referencjami, dodawania brakujących plików itp.)
  • proszę również wyjaśnić dlaczego Twój plik nagłówkowy wygląda tak, jak wygląda (chcę zrozumieć, dlaczego niektóre pliki / katalogi są wykluczone (i dlaczego niektóre zdecydowanie powinny być dołączone))
  • jeśli uwzględnisz OS konkretne wykluczenie, proszę również o informację tak (działam na Windows 7 btw.)
Author: Community, 2010-09-09

5 answers

Pliki eclipse zdecydowanie powinny zostać dodane. Ogólne wytyczne to dodać:

  • wszystko, co jest ręcznie napisane / wpisane
  • Minimalny podzbiór wszystkiego, co niezbędne do budowy projektu
To ostatnie jest moment, w którym przychodzi twój osąd. To wyraźnie wyklucza .pliki jar budujesz sam i swój finał .apk, ale czy obejmuje osoby trzecie .używasz słoika? Niektórzy ludzie je zawierają, ale lepiej jest dołączyć plik konfiguracyjny dla menedżer zależności, taki jak 'ivy', który pozwala kolejnemu konstruktorowi automatycznie pobierać wymagania, których potrzebuje.

Po automatycznym utworzeniu projektu w moich narzędziach do wyboru, wykonam polecenie takie jak:

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

Który dodaje listę wszystkich nieznanych plików do .hgignore. Następnie Wchodzę i usuwam rzeczy, które chcę zapisać (np.projekt) i pliki wieloznaczne, które będą rosły (np.:**.class)

 13
Author: Ry4an Brase,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-09 14:17:47

Bardzo ładna próbka .hgignore for Android at http://androidfragments.blogspot.com/2011/11/hgignore-for-android.html

 8
Author: codingatty,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-12 00:25:47

Oto mój hgignore:

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

Czy jest dobry, czy nie, to osobna kwestia

 5
Author: Andrew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-09 16:04:48

Cóż, jeśli jego projekty android niż

Lokalne.właściwości powinny być również ignorowane

 1
Author: Fred Grott,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-09 14:17:07

Znalazłem dobry przykład .hgignore. Dla mnie działa.

#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

 1
Author: Andrey Epifantsev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-04 01:57:26