2010-07-17 7 views
2

J'essaye d'entrer dans Python et, plus spécifiquement, Zope et Plone. J'ai lu le livre Professional Plone Development et une chose dit que l'on DOIT utiliser le contrôle de version. Mais le livre ne s'est pas étendu davantage sur ce sujet. Cela conduit à deux questions.Contrôle de version Plone, comment?

Première: SVN ou git? (Mes recherches pointent vers git, ne serait-ce que pour l'apprendre.) Je n'ai utilisé SVN que jusqu'à présent.)

Ensuite: Quels fichiers devraient être traités par le contrôle de version? Paramètres et mon propre code? Tout le répertoire Zope? Pas le data.fs, sûrement? Pas les fichiers .pyc, j'en suis sûr. J'ai pris une pause de Plone pour cette raison ces jours-ci, et je ne pouvais pas trouver un bon guide pour cela. Bref, jusqu'à présent, quand j'ai synchronisé les données entre mon PC local et mon serveur web, les choses ont cassé. Mal. Et je ne sais pas pourquoi. Certaines mises à jour manquaient ou certains fichiers spécifiques à la plate-forme étaient mis à jour. Mon PC personnel est Ubuntu 64 bits et mon serveur Web distant est RHEL 32 bits. C'était comme un tel gâchis, et comme un tel gâchis dangereux, que j'ai un peu peur d'y retourner.

Existe-t-il un moyen de savoir quels fichiers doivent être gérés par un système de contrôle de version et lesquels ne devraient pas l'être?

Merci.

Répondre

5

Non, non. N'apportez jamais de modifications au code système Zope/Plone. Créez un module complémentaire et personnalisez-le ici. Bien sûr, vous devez conserver les sauvegardes, mais le contrôle de version ne convient pas.

Vous devez vous assurer que toute construction buildout est répétable. Cela signifie que toutes les versions doivent être épinglées à votre version (voir http://pypi.python.org/pypi/buildout.dumppickedversions pour obtenir une extension pratique pour enregistrer les versions sélectionnées) et conserver une sauvegarde de toutes les distributions source localement, c'est-à-dire sauvegarder votre build-downloads cache.

+0

Dans vos propres paquets, vous voulez ignorer tous les fichiers .pyc et .pyo, ainsi que le répertoire entier .egg-info. Je suis sûr que le livre d'Aspeli donne une meilleure liste d'exclusions. – Auspex

1

Je n'ai mis que mes fichiers buildout dans svn (dir: project/buildout/trunk). Buildout récupère tous les fichiers Plone/Zope dans les bonnes versions.

En outre, j'ai mis mes oeufs dans svn (dir: projet/oeufs/tronc). Mes oeufs contiennent toutes les modifications dans Plone. Mon buildout utilise mr.developer pour récupérer automatiquement mes oeufs.

Vous pouvez cocher http://toutpt.wordpress.com/2010/07/07/nantes-developpement-com-a-new-plone-website-by-makina-corpus/ c'est un gros buildout et utilise toutes sortes de mods et d'extensions.

+0

+1. C'est une bonne idée de mettre en place votre fichier ignoré (.svnignore, .hgignore, ou .cvsignore, ou quel que soit le nom de votre fichier vcs ignore) tout d'abord pour être sûr que rien ne rentre dans ce que vous ne voulez pas. –

+0

Après beaucoup de réflexion, je choisis votre réponse comme correcte. Il est plus spécifique à Plone, et essayer d'inclure tout ce que DID résulte dans un désordre la dernière fois. (Mais alors, si je fais quelque chose de différent maintenant, je ne veux pas le faire au hasard, donc la question). En outre, buildout DEVRAIT prendre soin des fichiers Plone et Zope, et changer les fichiers derrière le dos de buildout semble être une mauvaise idée. Vous semblez confirmer ce sentiment. – eje211