Je travaille avec eclipse et SVN depuis de nombreuses années dans des équipes à partir d'un seul développeur jusqu'à 12 ans et j'ai toujours été l'un pour l'installation de notre structure de dossier. J'ai réussi à le faire fonctionner d'une certaine manière, mais j'ai l'impression que mon dossier de mise en page est loin d'être optimale. Il est difficile de dire ce que mon dossier standard de mise en page ressemble, parce qu'il avait l'air très différent à chaque fois.
Je viens juste de commencer un autre projet important, maintenant, et je veux le faire de la manière la plus professionnelle de ce temps.
Faits sur le projet
Ceux-ci sont faits en ce moment:
- Tous les développeurs vont travailler avec Eclipse
- Certains seront à l'aide de Subclipse pour intégrer SVN dans Eclipse, d'autres l'utilisent clients externes comme Tortoise SVN ou svnX
- nous sommes en train de développer sur Windows et Mac OS
- nous sommes à l'aide de ant pour automatiser la construction et les tests junit
- il y aura plusieurs projets interdépendants:
- une bibliothèque écrite en pur java, il fonctionne sur tous connu des plates-formes java
- plusieurs applications pour plusieurs java plattforms (J2SE, J2ME, android...). Toutes ces applications dépendent de la bibliothèque mentionné avant
Quoi faire avec .projet?
Je suis toujours pas sûr que de commettre ces fichiers généré par eclipse (comme ".projet" et ".classpath"). En avant de projets, parfois, nous les avons mis dans le SVN, parfois, nous n'avons pas, et les deux approches a utres avantages et des inconvénients. Une fois, nous avons même engagé l'ensemble de l'espace de travail, mais cela semblait être une mauvaise idée.
Un concept clé que je ne suis certainement manquant est comment Eclipse gère son espace de travail. Par défaut, l'ensemble du projet se trouve à l'intérieur de l'espace de travail-dossier, mais il peut y avoir des projets qui sont externes, qui sont liés d'une certaine magie de la façon que je ne comprends pas.
Possible dossier layouts
Je ne suis pas sûr comment à disposition du projet au niveau local et sur le référentiel. Je pense qu'il y a trois possibilités:
- l'espace de travail est un sous-dossier de ma copie de travail locale (comme c:\code\myWorkingCopies\projectXyz\trunk\workspace)
- mon espace de travail EST ma copie de travail (j'utilise c:\code\myWorkingCopies\projectXyz\trunk\ comme espace de travail)
- Mon espace de travail est quelque part (c:\code\workspace) et ma copie de travail à un autre endroit c:\code\myWorkingCopies\projectXyz\trunk) et j'ai ces projets externes
- d'autres idées?
Ce type de réponse que je cherche?
Un mannequin structure de dossier, peut-être quelque chose comme ça (dois-je viens de répondre à ma propre question?):
- tronc
- projets
- projectA
- projetb
- projets
Avec un soupçon de ce que à la caisse où, comme ça:
- la caisse trunk/projets c:\code...)
Et quelques lignes directrices comme
- ne jamais télécharger des fichiers de type x,y,z,...