2010-08-19 7 views
15

Je souhaite vérifier un projet Web dynamique créé en eclipse dans svn. Quelqu'un peut-il me dire quels fichiers je dois vérifier et lequel je ne devrais pas? L'idée est de pouvoir extraire le projet à l'aide de l'Assistant Nouveau projet afin de pouvoir créer à nouveau le projet Web dynamique. Plus précisément ici sont les fichiers/répertoires que j'ai dans le projet -Enregistrement d'un projet Eclipse dans SVN

  • src
  • WebContent
  • build
  • dist
  • build.xml
  • .project
  • .classpath
  • .settings/

Le répertoire de construction n'est évidemment pas censé être archivé. Et les autres? Je devine tout. les fichiers ne doivent pas être vérifiés non plus. Quelqu'un peut-il vérifier cela? Qu'est-ce que ce répertoire dist et le répertoire .settings?

Egalement où eclipse stocke les informations du serveur (tomcat)? Je ne veux pas le vérifier non plus.

EDIT:

J'ai d'abord vérifié dans l'ensemble de ce qui précède, sauf le répertoire de construction bien sûr. Lorsque j'ai extrait le projet depuis Eclipse, il ne m'a pas demandé de créer un nouveau projet car le projet .project est là mais Eclipse créait un projet JavaEE ou quelque chose à la place du projet Web dynamique. Est-ce que quelqu'un d'autre a eu ce comportement?

** EDIT 2 **

Trouvé! Je tourne à ne pas vérifier dans ce qui suit -

  • .project
  • .settings/
  • .classpath

Une fois ces 3 sont supprimés l'Assistant Nouveau projet fonctionne comme prévu et tout c'est bien.

Répondre

13

Si vous cochez .classpath/.project/.settings, vous créez votre projet spécifique à Eclipse. Qu'en est-il des développeurs qui travaillent avec Netbeans ou IntelliJ? IMO il est plus propre de garder votre projet indépendant de l'IDE et facile à mettre en place.

Je choisis habituellement une version Maven. Le pom.xml spécifie toutes les dépendances requises et mvn eclipse:eclipse génère les fichiers .classpath/.project pour vous.

Le répertoire .settings contient des paramètres locaux (comme la version Java que vous souhaitez utiliser). Il n'est pas utile de vérifier cela dans IMO. Vous pouvez appliquer la conformité de la version Java via le pom Maven2.

Enfin, pour votre prochain projet, mon protip est à svn-ignore les fichiers ou répertoires que vous ne voulez pas dans SVN avant votre première validation. Dans une configuration Maven2 qui serait .settings.classpath.projecttarget (le répertoire de sortie par défaut de Maven2) et tout autre élément généré (fichiers journaux, répertoires gfembed, etc.). Dans votre cas, vous ignoreriez build et dist au lieu de target.

Vous pouvez svn-ignore fichiers ou répertoires avec RIGHT_MOUSE->Team->'Add to svn:ignore' (j'utilise le plugin Subclipse). Les instructions Ignorer sont stockées sous la forme svn-properties dans le répertoire parent. Les propriétés d'un répertoire peuvent être affichées par RIGHT_MOUSE->Team->Show properties. Vous pouvez également modifier directement les propriétés en cliquant sur le champ de valeur. Assurez-vous qu'il y a une fin de ligne après chaque propriété.

Maintenant que vous avez déjà validé et supprimé ces fichiers, ignorer ne fonctionnera plus dans mon expérience. D'une manière ou d'une autre, je n'ai jamais réussi à ignorer avec succès les fichiers générés qui ont déjà été vérifiés dans le dépôt SVN; ils sont comme des zombies, revenant toujours des morts. Peut-être en supprimant leurs entrées physiquement dans le repo SVN cela peut être réalisé, mais je ne l'ai jamais fait.

+0

Merci c'est un bon point sur l'IDE spécifique fichiers et c'est une bonne idée d'utiliser svn ignore aussi. – user220201

+0

Bien que le contenu de .settings soit spécifique à Eclipse, cela ne signifie pas qu'ils n'ont pas besoin d'être partagés avec d'autres membres de votre équipe. Plus précisément, vous souhaiterez peut-être partager vos préférences d'avertissement JDT pour votre projet. Ce serait une vraie douleur de les partager en les générant. –

+0

Bon point. Je partage parfois de tels paramètres en les exportant depuis l'IDE et en partageant les fichiers. Par exemple, Eclipse permet d'exporter les règles de formatage et de modèle de code. Un autre exemple est les paramètres de checkstyle. Tous ces paramètres sont généralement des stratégies à l'échelle de l'entreprise; on les trouve souvent sur le Wiki Confluence, mais pas dans chaque projet. –

0

Je voudrais omettre le .project, .settings /, dist et build. Le chemin .class peut être laissé si vous utilisez des variables au lieu de chemins codés en dur. Ceci est utile afin que vous n'ayez pas à reconstruire votre classpath chaque fois que vous extrayez le projet.

11

Dans notre cas, nous avons enregistré tout ce que vous avez mentionné dans la liste sauf, .settings /.

Avec .classpath et .project enregistrés, les utilisateurs peuvent rapidement extraire le projet et lancer Eclipse sur un nouvel ordinateur et commencer à travailler dessus; l'alternative étant de configurer le projet manuellement et d'ajouter minutieusement toutes les dépendances de jar (si vous utilisez ant). De nombreux projets Open Source le font.

Lisez this, il y a de très bons points à considérer.

+0

Lien mort à l'article de blog, la nouvelle URL est: http://lousycoder.blogspot.com/2008/09/arguments-against-checking-in-your.html – David

2

Bonne question ... Bon nombre d'entre nous sont dans un dilemme de savoir si nous voulons vérifier dans les fichiers liés IDE ou non. Je vais normalement vérifier .classpath pour eclipse et j'utilise des variables eclipse pour m'assurer que l'équipe a juste besoin de changer la valeur de la variable et cela fonctionne. Nous vérifions également .project pour que l'équipe n'ait pas besoin de créer un nouveau projet dans son espace de travail.