SUBVERSION sous WINDOWS avec APACHE et integration à ECLIPSE
[50 mn de lecture - paru le 6/7/2006 10:16:24 AM - Public : Expert]
|
   
|
Auteur
1 Presentation de subversion
1.1 Les apports de Subversion
les principaux manques de CVS:
- Les commits, ou publications des modifications, ne sont pas atomique: si on committe deux fichiers, on peut n’en enregistrer qu’un. Le patch est par fichier, pas par commit.
- CVS ne connaît pas le renommage d'un fichier : si on change un nom de fichier, on perd tout l'historique de ce fichier. De plus, la modification est assez lourde : avec CVS il faut supprimer l'ancien fichier et ajouter le nouveau, sans aucun rapport entre les deux ce qui ammenait a perdre l'historique.
- Le non visionnage des meta données : on ne peut pas attacher de propriétés, comme les permissions, à un fichier, par exemple.
Du point de vue du simple utilisateur, les principaux changements lors du passage à Subversion, sont :
- Les numéros de révision sont désormais par révision et non plus par fichier : chaque patch a un numéro de révision unique, quels que soient les fichiers touchés. Il devient simple de se souvenir d'une version particulière d'un projet, en ne retenant qu'un seul numéro ;
svn rename (ou svn move) permet de renommer un fichier ;
- Les répertoires et méta-données sont versionnés.
Une des particularités de Subversion est qu'il ne fait aucune distinction entre un label, une branche et un répertoire. C'est une simple convention de nommage pour ses utilisateurs. Il devient ainsi très facile de comparer un label et une branche ou autre croisement.
1.2 Les principales commandes de Subversion
|
Commande |
Signification |
|
add |
Déclare l'ajout d'une nouvelle ressource pour le prochain commit |
|
checkout |
Récupère en local une révision ainsi que ses méta-données depuis le dépôt |
|
cleanup |
Nettoie la copie locale pour la remettre dans un état stable |
|
commit |
Enregistre les modifications locales dans le dépôt créant ainsi une nouvelle révision |
|
copy |
Copie des ressources à un autre emplacement (localement ou dans le dépôt) |
|
delete |
Déclare la suppression d'une ressource existante pour le prochain commit (ou supprime directement une ressource du dépôt |
|
diff |
Calcule la différence entre deux révisions (permet de créer un patch à appliquer sur une copie locale) |
|
export |
Récupère une version sans méta-données depuis le dépôt ou la copie locale |
|
import |
Envoie une arborescence locale vers le dépôt |
|
info |
Donne les informations sur l'origine de la copie locale |
|
log |
Donne les messages de commit d'une ressource |
|
merge |
Calcule la différence entre deux versions et applique cette différence à la copie locale |
|
move |
Déclare le déplacement d'une ressource |
|
revert |
Revient à une révision donnée d'une ressource. Les modifications locales sont écrasées. |
|
status |
Indique les changements qui ont été effectués |
|
update |
Met à jour la copie locale existante depuis la dernière révision disponible sur le dépôt |
(source wilkipedia)
|