Est-ce la bonne organisation et pas à pas pour créer un référentiel SVN avec plusieurs projets et fournisseurs?

StackOverflow https://stackoverflow.com/questions/259600

  •  06-07-2019
  •  | 
  •  

Question

J'ai lu pas mal de choses sur le livre SVN de Red Bean Software et sur certaines des questions posées ici sur les SO, mais je veux m'assurer que j'y vais de la bonne façon la première fois, étape par étape. -pas avant que je commence à l'utiliser. Est-ce correct?

  1. Installer SVN.
  2. Créez un référentiel SVN dans / usr / local / svn. La structure du répertoire ressemble à ceci:

    -- conf
    -- db
    -- format
    -- hooks
    -- locks
    -- README.txt
    
  3. Créez des dossiers en ligne de commande pour l'organisation du référentiel (y compris les projets et les fournisseurs).

    -- conf
    -- db
    -- format
    -- hooks
    -- locks
    -- projects
       -- project_name
          -- vendor
          -- trunk
          -- branches
          -- tags
       -- project_name
          -- vendor
          -- trunk
          -- branches
          -- tags
    -- README.txt
    
  4. Enregistrez le code du fournisseur dans le dossier du fournisseur sous le nom de projet correct.

  5. Exportez le code du fournisseur dans le coffre sous le nom de projet correct (aucune fusion nécessaire, car je n’ai pas encore de fichiers de coffre du projet).
  6. Créez des utilisateurs / autorisations dans / svnroot / conf / passwd et /svnroot/conf/svnserve.conf.
  7. Assurez-vous que svnserve est en cours d'exécution et que, sur mon client SVN local (TortoiseSVN), vérifiez la jonction du projet dont j'ai besoin.

Je n'ai pas besoin de le signaler par une URL publique, je ne configure donc pas Apache. Le serveur ne fait pas partie de notre réseau, mais est une boîte dédiée CentOS que nous louons. Merci pour vos pensées et vos conseils.

EDIT:

Je suppose que je suis confus parce que je n'ai pas de code ou de projet pour commencer, je commence donc à partir du code du fournisseur. Dois-je créer quelque part sur le serveur une structure de répertoires comprenant mes sous-dossiers nom_projet avec fournisseur, joncteur réseau, branches et balises, l'importer dans mon référentiel, puis importer le code du fournisseur dans le dossier du fournisseur? L'idée est que je peux obtenir les mises à jour du fournisseur, puis les fusionner avec toutes les modifications apportées à ma malle.

Était-ce utile?

La solution

  

Créez des dossiers en ligne de commande pour l'organisation du référentiel (y compris les projets et les fournisseurs).

Voulez-vous dire créer la structure de référentiel en créant des répertoires à l'intérieur du répertoire d'installation de subversion? C'est très faux.

Vous devez créer les dossiers nécessaires via la commande svn mkdir et non via le système de fichiers.

Dans / usr / local / svn , vous avez l'implémentation physique du référentiel Subversion. Vous ne devez y accéder que via un client, sans jamais le toucher "à la main".

Par exemple, en utilisant le schéma fichier: // URL

svn mkdir file:///usr/local/svn/projects -m "Parent dir for projects created"

Autres conseils

Vous semblez avoir la bonne idée, mais votre terminologie est un peu fausse. Cela va vraiment dérouter les gens de SVN, puisque vous utilisez des mots qui ont une signification particulière dans le contexte de SVN. Pour développer ce que Davide a dit:

2) créez votre référentiel en effectuant quelque chose comme svnadmin create / usr / local / svn .

3) créez vos dossiers. Vous n'avez pas besoin (ou ne voulez pas) les parties de votre liste qui ne se trouvent pas sous projets / . Ces autres répertoires sont ce que SVN utilise pour garder une trace des révisions, ils ne sont pas réellement dans le référentiel. Si vous créez une hiérarchie de répertoires quelque part sur votre système contenant le sous-arbre nom_projet / , vous pouvez ensuite exécuter svn import dessus autant de fois que vous le souhaitez, une fois pour chaque projet. (en donnant un nom différent pour la destination à chaque fois). Cela créera votre structure de répertoire.

4) Au lieu de "commander", je pense que vous voulez dire soit "importer", ou " checkin " (habituellement appelé "commit" dans le langage SVN, mais "checkin" sera compris). L'importation ajoutera les fichiers du fournisseur au référentiel. Commander signifie "créer une copie locale de ce répertoire versionné pour que je puisse travailler avec " connu sous le nom de copie de travail. Chaque développeur de votre équipe devrait avoir sa propre copie de travail. Lorsqu'un développeur apporte des modifications à sa copie de travail, il les svn commit qui les envoie au référentiel. Les autres développeurs de l'équipe exécuteront svn update pour extraire ces modifications du référentiel dans leurs propres copies de travail.

5) Je n'ai pas lu le livre SVN récemment, mais je pense qu'il vous demande de copier la version de la branche du fournisseur dans le coffre, et non de l'exporter. Exporter en termes SVN signifie supprimer la version de l’arborescence, ce qui n’est clairement pas ce que vous souhaitez.

Vous trouverez peut-être que les choses sont plus simples si vous suivez les étapes 6 et 7 juste après l'étape 2, car vous pourrez alors utiliser le protocole svn: // pour accéder à votre référentiel pour les étapes restantes au lieu de file: // comme suggéré par Davide, qui ne fonctionne que sur la machine locale.

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