2008-09-19 4 views
6

Désolé, je suis nouveau à SVN et j'ai cherché un peu pour ça. Comment marquez-vous une version majeure dans SVN, un peu comme mettre en place un point de restauration. À l'heure actuelle, je viens d'installer mon serveur et j'ai ajouté tous mes fichiers - j'ai effectué par intermittence différents changements. Quand j'ai quelque chose dans un état stable, y a-t-il un moyen de le marquer pour que je puisse facilement y revenir si nécessaire?SVN marque version majeure

Répondre

16

On dirait que vous cherchez des étiquettes.

Tags in the Subversion book

« Une balise est juste un « instantané » d'un projet dans le temps »

11

La façon typique est de créer un répertoire « tag » dans la racine de votre dépôt et copiez le tronc entier dans ce répertoire. (Copie ne coûte pas cher dans Subversion, car il vient d'ajouter des références à des révisions spécifiques des fichiers existants.)

Donc vous pouvez dire:

svn cp http://svn.example.com/trunk/ http://svn.example.com/tags/major-revision-01/ 

Voir the Subversion book Pour plus d'informations, en particulier le chapitre tags.

0

essayer de lire cette page svn copy. Fondamentalement, il suffit de faire une copie svn

1

Si vous utilisez la structure standard svn, vous devriez avoir un répertoire branches, tags et trunk.

Ce que vous cherchez à faire est de faire une copie de la ligne de réseau en cours dans un dossier dans les balises.

Exemple ligne de commande:

svn copie mysvnurl/myproject/trunk mysvnurl/monprojet/tags/majorrelease_01

0

Dans CVS, cela a été appelé un "tag". SVN n'utilise pas de mécanisme séparé pour les tags, il crée simplement une branche. Il suffit donc de créer une nouvelle branche et de lui donner un nom descriptif comme "release-1.2".

Sinon, la manière paresseuse serait d'écrire le numéro de révision du référentiel dans un fichier texte;)

+0

Bordel, 4 personnes de plus répondu dans le temps qu'il m'a fallu pour écrire cela. – MrZebra

3

Tout ce que nous faisons est que nous créons une branche. Nous avons les répertoires de niveau racine standard: trunk, tags, releases, branches. La principale chose à retenir est que tout branchement est simplement comme créer une copie, et toutes les branches du tronc sont juste comme créer une copie (sauf que c'est une copie superficielle, en copiant seulement les deltas).

Pour nous, tout le développement se fait dans le coffre. Si quelqu'un fait une refonte majeure, alors tendez à le mettre dans les branches. Les versions majeures sont mises en versions et toutes les autres étiquettes et articles que nous voulons étiqueter sont placés dans le dossier des étiquettes.

Pour nos communiqués, nous avons la structure de répertoire suivant:

repository 
+--trunk 
+--releases 
    +--v1.0 
    +--v1.1 
    +--v1.4 
    +--v2.0 
+--branches 
+--tags 
0

Voici une autre idée utile. Utilisez CruiseControl (ou CruiseControl.NET) pour étiqueter automatiquement à un intervalle fixe (c.-à-d.la nuit, ou toutes les 15 minutes)

Get A Build Process Now!