Question

Vous avez une question (espérons-petits) en ce qui concerne SVN et vérifier repo. Fondamentalement, je vois des tutoriels contradictoires et des suggestions concernant ce qu'il faut vérifier et quand. Certains diront:

svn co http://my.repos.com/project my_project

... tandis que d'autres disent:

svn co http://my.repos.com/project/trunk my_project

Quand voudrais-je saisir le tronc directement contre l'ensemble du projet? Dans le passé, je ne l'ai jamais eu des problèmes avec non plus, mais je ne sais pas s'il existe des scénarios où l'on est préférable à l'autre.

Best.

Était-ce utile?

La solution

Il y a deux autres points à noter à ce sujet.

  1. L'arbre tags (et il sera généralement un arbre) contient des instantanés hypothétiquement immuables de votre code à un point précis dans le temps; ce n'est pas quelque chose que vous voulez changer, comme la plupart des déploiements vont être basés sur les balises
  2. La plupart des clients se plaignent Subversion si vous essayez de valider les modifications dans l'arborescence tags, au lieu de copier juste dans ce
  3. Pour la plupart des cas, trunk est un cas particulier des sous-répertoires branches; la seule différence significative est qu'il devrait contenir le chemin de développement principal

Il n'y a généralement pas une bonne raison de vérifier l'ensemble du projet, comme d'autres l'ont souligné, comme la plupart du temps, vous ne travaillez que sur le tronc et une ou deux branches, et l'ensemble du projet peut manger une quantité importante de espace disque. La « branche » principale de développement est le plus souvent la seule chose dont vous avez besoin.

Voici un exemple réel. Notre équipe fait tous les changements de code contre le tronc. Lorsque nous avons besoin d'un alpha (pré-complet) version, nous étiquetons simplement le tronc. Une fois que nous avons atteint « de code complet » pour une version donnée, nous créons une branche de gel de code, où nous faisons tous nos changements de version. La version bêta, RC et versions GA sont marqués de cette branche. Si nous avons besoin de patcher une version GA, le patch se fait contre la branche et a fusionné au tronc. De cette façon, nous n'avons pas à vous soucier du code plus récente fuite dans le GA testé et approuvé si nous avons besoin correctif quelque chose de spécifique. Il nous permet également de commencer à travailler sur la prochaine version du logiciel dès que le code est gelé.

En outre, s'il y a un « projet parallèle » qui est hors bande pour le tronc, vous pouvez créer une branche pour cela et fusionner lorsque vous êtes prêt.

Certaines équipes aiment créer une branche pour chaque bug, et un travail directement sur le tronc (comme le mien). Si votre équipe fait le bug par branche, je ne l'avais jamais vérifier le projet dans son ensemble. Entre autres choses, je vois beaucoup de code que je ne se soucient.

En outre, juste un point sur la gestion du référentiel tel que mentionné par @humble_coder - la plupart des outils de Subversion sont assez faciles à utiliser en matière de gestion branche / tag. Par exemple, TortoiseSVN a un navigateur référentiel qui vous permet de copier les choses (en créant des branches et des étiquettes) assez facilement, et même l'outil de ligne de commande svn peut être utilisé pour faire la même chose comme une opération atomique (nous avons en fait un script qui crée soit les balises alpha, la branche de blocage de code, ou les mots-clés de libération de post-gel).

Hope this helps!

Autres conseils

généralement un dépôt subversion a 3 répertoires principaux:

    branches
  1. Balises
  2. trunk

Tronc est pour la plupart à la branche de la date du code.

Les branches sont généralement créés afin de développer une fonction spécifique que vous ne voulez pas encore dans le coffre.

sont comme save-points du tronc.

Si vous faites un achat à la racine du projet, vous obtiendrez toutes les branches, toutes les balises et le tronc. Cela peut conduire à une énorme quantité de données.

Par exemple, si chaque version de code est marqué, vous obtiendrez le code source de toutes vos versions précédentes!

J'espère que cela vous aidera

Jérôme Wagner

Cela dépend de la façon dont vous disposez votre dépôt, mais le plus souvent, vous aurez cette structure:

/trunk
/tags
/branches

À la fois tags et branches, vous pouvez avoir plusieurs copies du projet (en fonction à nouveau comment utilisez-vous le dépôt).

Si votre dépôt est mis de cette façon, et vous extrayez /, vous finirez avec plusieurs copies du code (balises et branches), que vous ne pouvez pas être censé être toucher (balises, par exemple).

Si vous extrayez /trunk à la place, vous ne vérifiez la version que vous travaillez actuellement, ce qui est ce que vous voulez habituellement.

Je ne la caisse l'ensemble du projet. En règle générale, je suis seulement intéressé par une branche à la fois, peut-être deux, parfois trois. J'ai toujours tronc vérifié et mis à jour. Si je dois vérifier le fonctionnement d'une étiquette publié (peut-être pour la recherche de bug) Je vérifierai, investiguer et supprimer. Branches stockées sous branches ont généralement une durée d'attention beaucoup plus courte, qui est, ils sont créés et utilisés fébrilement pour une courte période et ne touchaient jamais à nouveau.

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