Question

Avant de commencer: j'ai passé beaucoup de temps sur de nombreux forums (y compris Stack Overflow - et oui il y a beaucoup de SO questions sur l'organisation svn), la recherche Google et lire des documents (je possède quelques livres Subversion). Je n'ai pas encore trouvé un bon moyen d'organiser notre base de code dans Subversion. Nous utilisons actuellement RCS comme notre système de contrôle de révision, et tout est stocké dans 1 répertoire RCS - laid, je sais - c'est pourquoi je travaille à quelque chose de mieux. J'ai aussi utilisé Subversion beaucoup, donc je sais que ses capacités et comment il fonctionne. J'ai hésité poser cette question pendant des mois, car il n'est pas la programmation complètement lié, mais comme je ne l'ai pas été en mesure de parvenir à une solution, quel meilleur endroit pour poser ma question!

Qu'est-ce que complique les choses dans ma tête est le terme subversion « Projet ». Si je veux gérer un projet java dans la subversion, ce qui rend son sens pour moi: tous les fichiers java qui se combinent dans un fichier jar pourrait être considéré comme un « projet » - ils appartiennent tous ensemble. Cependant, dans notre environnement, je ne vois pas un moyen facile de définir ce qu'est un « projet » est. Nous avons plus de 4000 programmes, et tous sont à peu près indépendants les uns des autres. Beaucoup d'entre eux sont des scripts shell ou des scripts Perl. Certains de nos scripts utilisent générique « utilitaire » ou scripts « bibliothèque », mais pour la plupart, tous les objets de code sont indepenant.

Un « projet » dans notre environnement pourrait impliquer le programme A, B et C, et le fichier de configuration AA. Un autre projet pourrait utiliser des programmes C, D et E, et le fichier de configuration BB. Pourtant, un autre projet pourrait tout simplement être en train de changer le fichier de configuration AA, ou peut-être le programme B. Il n'y a pas un moyen de classer les programmes ou fichiers appartiennent à un groupe. À cause de cela - je ne sais pas comment organiser notre code dans la subversion. Je pourrais mettre tout dans un tronc de projet principal, mais vérifier une copie de travail consiste à vérifier tous les éléments 4.000+.

Pour donner un contexte, c'est un entrepôt de données. Tous les éléments de code 4.000+ sont nécessaires pour faire fonctionner l'entrepôt. Peut-être une certaine exigence d'affaires est en cela nécessite des changements d'une colonne qui est accessible en quelques-uns des éléments, et une autre exigence de l'entreprise nécessite des changements à quelques autres éléments (peut-être une partie de la même chose de l'autre projet).

Peut-être que Subversion n'est pas la meilleure solution pour nous, même si je dois croire qu'il peut travailler. Nous avons déjà un serveur Subversion pour notre code Web et nos programmes Java, et il fonctionne très bien, car il y a des projets faciles à définir. Je ne peux pas comprendre comment organiser notre bibliothèque de code principal.

Espérons que certains de cela avait un sens ... Merci d'avance pour votre sagesse!

Était-ce utile?

La solution

Vous pouvez regarder les propriété. Il vous permet de définir que la caisse du répertoire dans lequel est cette propriété ci-joint, sera aussi la caisse d'autres endroits dans le référentiel pour les sous-répertoires de ce répertoire.

Vous pouvez donc créer un répertoire « réel » pour chaque composant, puis créer un répertoire distinct pour chaque projet qui utilisera les externals pour la caisse des composants requis.

Autres conseils

Je voudrais essayer d'organiser la structure du dossier des fichiers avant de vider tout simplement dans un dépôt subversion.

Je pense que votre problème réside principalement dans la désorganisation des fichiers existants. Si vous pouvez trouver un moyen de diviser logiquement votre système en segments, il serait plus facile de permettre aux gens de vérifier que des morceaux de fichiers (qui seraient dans des groupes logiques).

Subversion reflète vraiment un système de fichiers, donc si elle ne regarde pas assez dans un système de fichiers, il ne sera pas assez dans la subversion soit.

Si vous voulez éviter les fichiers réorganiser, peut-être vous pouvez trouver un système de contrôle de version qui vous permet de vérifier dans / des choses basées sur des balises, au lieu où ils se trouvent dans le système de fichiers.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top