2010-09-09 3 views
21

Ich habe Beispiele für Mercurial Ignorieren Dateien für Visual Studio, unter anderem gesehen.Mercurial Ignorieren-Datei für Eclipse und Android Entwicklung

Ich habe gerade mit der Android-Entwicklung begonnen und nutze diese Zeit auch, um mit Mercurial zu experimentieren. Also meine Frage ist: hat jemand ein gutes Beispiel für eine .hgignore Datei für Eclipse und Android-Entwicklung zu verwenden?

# use glob syntax 
syntax: glob 

# Ignore patterns 
.metadata\ 
bin\ 
gen\ 

andere Muster ignorieren Gibt es die aufgenommen werden sollten:

Für den Anfang habe ich die mir folgende bekam? Sollen zum Beispiel die Eclipse-Dateien .classpath und .project ebenfalls aus der Versionskontrolle weggelassen werden?

- Bearbeiten unten -

ich recht habe nicht die Antworten bekam ich noch gehofft, so werde ich eine Prämie setzen und versuchen, ein wenig klarer zu bestimmen, was ich suche .

Nachdem ich ein wenig experimentiert habe, scheint es, dass der oben aufgeführte .hgignore ausreichend ist. Die einzige Ergänzung, die ich gemacht habe, ist eine Zeile mit .settings (das war ein Ordner, der nach dem Ausführen Android Tools -> Fix Projekteigenschaften) erschien. Ich habe auch festgestellt, dass (wie von Ry4an erwähnt), dass die Eclipse-Dateien .classpath und .projectnicht ausgeschlossen werden sollten.

Ich bin jedoch unsicher, dass diese kleine Ignorierdatei ausreichen wird, wenn ich Projekte ein bisschen größer als die grundlegenden Tutorials bekomme (wenn es wirklich ist alles gut, bitte erklären, warum, und Sie erhalten das Guthaben) . Um es zusammenzufassen, was ich suche:

  • Ich möchte ein konkretes Beispiel für eine .hgignore Datei für ein Android-Projekt unter Eclipse-
  • Die Datei ignorieren sollte sein, so dass, wenn ich eine Kopie des Repository überprüfen an einem neuen Standort sollte es sofort funktionieren (dh ohne mit Pfaden und Referenzen herumspielen zu müssen, fehlende Dateien hinzufügen usw.)
  • Bitte erklären Sie auch warum Ihre Include-Datei sieht aus wie es tut (Ich will verstehen, warum bestimmte Dateien/Verzeichnisse sind ausgeschlossen (und warum einige sollten definitiv enthalten sein))
  • Wenn Sie OS-spezifische umfasst nicht enthalten, geben Sie bitte auch so (ich auf Windows 7 btw renne.)
+0

die ursprüngliche Frage mit zusätzlichen Informationen aktualisiert, nachdem die Prämie hinzufügen. – Nailuj

+0

Ich würde das Verzeichnis ".settings" nicht ignorieren. Wenn Sie feststellen, dass das Android-Plug-in in Ihrer Umgebung bestimmte Dinge enthält (z. B. fest codierte Pfade), ignorieren Sie diese Dateien einzeln. Ich bevorzuge es auch, kein Repository außerhalb meines Arbeitsbereichs zu erstellen, und daher habe ich normalerweise keine ".metadata" in meiner Ignorierliste (dies gibt mir die Flexibilität, Projekte aus mehreren Repositories zu importieren, obwohl ich nicht sicher bin, wie wichtig das ist für dich). –

Antwort

13

ignoriert werden sollte Die Eclipse-Dateien sollten unbedingt hinzugefügt werden.Die allgemeine Richtlinie hinzuzufügen ist:

  • alles, was Hand geschrieben/getippt
  • die minimale Teilmenge der alles andere notwendig, das Projekt

Das letzte zu bauen ist, wo Ihr Urteil kommt. Es schließt eindeutig die .jar-Dateien aus, die Sie selbst und Ihre endgültige .apk-Datei erstellen, aber enthält es auch die von Ihnen verwendeten .jar-Dateien von Drittanbietern? Einige Leute schließen sie ein, aber besser ist es, eine Konfigurationsdatei für einen Abhängigkeitsmanager wie 'efeu' einzubinden, die es dem nächsten Erbauer ermöglicht, die Anforderungen herunterzuladen, die sie automatisch benötigen.

Nach dem automatischen Erstellen eines Projekts in meine Werkzeuge der Wahl, ich werde nur einen Befehl wie folgt tun:

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

, die die Liste aller unbekannten Dateien fügt .hgignore. Dann gehe ich in und entfernen Sie Dinge, die ich gerettet will (ex: .project) und Wildcard-Dateien, die Geschwister wachsen (z. B.: ** Klasse)

+0

+1: Der 'hg status --unknown --no-status >> .hgignore' scheint mir ein netter Trick, danke :) Da ich mit der Android-Entwicklung ziemlich neu bin, habe ich mir aber ein umfassendes und konkretes Beispiel erhofft - Wie Sie bemerken, ist der zweite Punkt der beiden der schwierige Teil. – Nailuj

+0

Nur für zukünftige Referenzen (und, wie es eine Schande zu spät wäre, die Kopfgeld zu vergeuden;): Obwohl nicht ganz spezifisch, lieferte diese Antwort, was ich am nützlichsten fand. Was ein vollständiges Beispiel betrifft, habe ich am Ende das verwendet, was ich im ursprünglichen Post geschrieben habe (und das scheint nach einigen Wochen des Experimentierens ausreichend zu sein). – Nailuj

+0

Ausgezeichnet, danke. –

1

gut, wenn seine Android-Projekte als

local.properties auch

+0

Ich denke local.properties wenn von Android Studio. –

5

Hier ist mein hgignore:

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

Ob es ein ist gut oder nicht ist eine andere Frage

+0

+1 für ein bestimmtes Beispiel. Ich werde jedoch ein wenig auf weitere Antworten/Kommentare warten, bevor ich akzeptiere, um besser zu sagen, ob es eine gute ist oder nicht;) – Nailuj

+1

Sollten Sie nicht die Punkte in den Zeilen 3-5 umgehen? –

+1

Der Android-spezifische 'gen \' Ordner fehlt zumindest in diesem, von dem ich sicher bin. – Nailuj

1

ich ein gutes Beispiel für .hgignore gefunden haben. Für mich geht das.

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

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

Verwandte Themen