2010-07-06 9 views
6

Gibt es eine Standardliste von Dateien/Verzeichnissen/Pattens, die zu einer Versionskontroll-Ignorierliste (zB .hgignore) hinzugefügt werden können, wenn die Versionskontrolle der Google App-Engine Java erfolgt App?Versionssteuerungs-Ignorierliste für Google App Engine Java-Apps

Ich denke, eine Reihe von Menschen muss dies bereits ausgearbeitet haben, irgendwelche guten Beispiele da draußen?

+1

wie etwa GAE JAR-Dateien, in Krieg/WEB-INF/lib, .. sie zusammen mit GAE SDK kommen, , und aktualisiert jedes Mal, wenn SDK aktualisiert wird :) Gesehen keine Antworten über sie. – tuxSlayer

Antwort

1

Nun, mit einem Mangel an offensichtlichen Antworten, machte ich mein eigenes. Hier ist die .hgignore ich ging, ersetzt [app-name-here] mit dem Namen des App:

syntax: glob 
*.class 
war/[app-name-here] 
war/WEB-INF/classes 

Die repo Öffentlichkeit ist, wenn jemand interessiert ist.

4

Standardliste, vielleicht auch nicht, aber Sie haben someexamples:

syntax: regexp 

\.*py[co] 
\.DS_Store 
~$ 
\.coverage 
\.egg-info 

syntax: glob 

nbproject 
app.yaml 
auth.py 
dist 
target 
WEB-INF/appengine-generated 

Grundsätzlich mindestens ein beliebiges Verzeichnis mit erzeugt Inhalt ignoriert werden sollte.


Die gleichen Prinzipien gelten für Java App Projekte wie this one oder that one:

syntax: glob 

*~ 
*.patch 
*.sedbak 
*/target/* 
*/<project_name>searchindex/* 
*/test-output/* 

hs_err_pid*.log 
tomcat 

syntax: regexp 
\.jar$ 

^\.pc/ 
^.ant-targets-build.xml 
\.pages.xml.spdia$ 
temp-testng-customsuite.xml$ 

# eclipse and maven stuff 
^target 

# kde related 
\.directory$ 

#gwt related 
^<project_name>-war/war/WEB-INF/classes/ 
^<project_name>-war/tomcat 
\.gwt-tmp$ 
^<project_name>-war/org.fedorahosted.<project_name>.webtrans.Application 
^<project_name>-war/war/org.fedorahosted.<project_name>.webtrans.Application 

Off Natürlich werde ich keep any Eclipse or maven related file under source control, um den Build-Schritt zu erleichtern, wenn jemand die Repo-Klon .

+0

Vielen Dank für Ihren Vorschlag, aber es scheint auf Python app-engine apps ausgerichtet zu sein, und tatsächlich sind beide Beispiele, auf die Sie verweisen, in Python. Wie in der Frage angegeben, arbeite ich an einer Java-App. – Tom

+0

@ Tom: guter Punkt. Ich habe meine Antwort mit einem Beispiel für eine Java-App '.hgignore'-Datei aktualisiert. – VonC

0

Ich benutze die maven-gae-plugin und entwickle innerhalb von Eclipse. Diese .hgignore kopiert ich oft bei neuen Projekten:

\.project 
\.classpath 
\.settings/ 
^target$ 

Abgesehen davon, müssen Sie etwas anderes beachten: Wenn Sie eine appengine Anwendung bereitstellen, sendet die appengine sdk Laufzeit eine Beziehung von Dateien zusammen mit ihren Prüfsummen veröffentlicht werden und nur aktualisierte Dateien werden hochgeladen.

+0

Ich benutze keine Maven, und ich will auch nicht. Außerdem sollten Sie den Projektklassenpfad und die Projekteinstellungen nicht ignorieren. Diese werden benötigt, um das Projekt in Eclipse zu erstellen, welches Leute, die Ihren Code auschecken, tun möchten. – Tom

+1

Maven generiert diese Metadaten für Sie. Das ist der Grund, den ich ignoriere. – aldrinleal

2

Dies sollte alle erzeugten Dateien (verwendet in einem .gitignore) ignorieren

gwt-unitCache/ 
war/<<app-name>>/ 
war/WEB-INF/classes/ 
war/WEB-INF/deploy/