Je change ici un peu de méthode parce que cette fois-ci, contrairement aux autres commandes, c'est très différent entre TortoiseSVN et le terminal. Bref, petit changement de façon de faire, mais sans grande incidence.
Création de fichiers et de dossiers
Vous allez voir que c'est difficile de faire plus simple que cela.
Vous créez vos fichiers / dossiers comme vous l'avez toujours fait dans l'exploreur. Ensuite, vous sélectionnez les fichiers / dossiers que vous voulez rajouter, et il suffit de faire un clic droit >>
TortoiseSVN >>
Add. Et voilà : compliqué, n'est-ce pas ?
Attention, une fois que vous avez fait le Add, les fichiers ne sont pas encore envoyés au serveur, ils sont seulement indiqués comme des fichiers qu'il va falloir rajouter sur le serveur. Pour les envoyer définitivement, il faut faire un commit.
Ce qui nous donne - d'un point de vue icône - ce qui suit.
Fichier créé :

Fichier ajouté :

Fichier commité :
Suppression de fichier / dossier (et renommage aussi ?)
On va supprimer le fichier que l'on vient de créer, mais on va le renommer avant !
Renommage : clic droit,
TortoiseSVN,
Rename...
Encore une fois la difficulté est au rendez-vous !
Une ÉNORME erreur consiste à renommer de la manière habituelle. C'est-à-dire avec F2 ou un clic droit et Renommer. Parce que SVN va interpréter ça comme "il me manque un fichier et j'en ai un en plus". Donc au commit, il va dire qu'il manque un fichier et ne va pas rajouter l'autre parce que vous ne l'aurez pas ajouté.
Maintenant qu'on a vu comment renommer, il ne reste plus qu'à savoir supprimer !
Attention, grosse difficulté en perspective (encore une fois) : clic droit >>
TortoiseSVN >>
Delete.
On voit à nouveau que le fichier n'est pas supprimé mais qu'une croix rouge apparaît comme ici :

Cette croix rouge signifie qu'au prochain
commit, de même que le ?+? bleu va rajouter le fichier sur le serveur, le fichier ne va plus faire partie des versions suivantes sur le serveur.
Certains auront remarqué qu'il y a une autre méthode (peut-être même plus rapide) offerte par l'interface de TortoiseSVN. Même si elle est plus rapide, je la déconseille parce qu'elle ne reflète pas ce qui se passe vraiment. Mais bon, je vais quand même la présenter.
Si vous ajoutez ou supprimez normalement un fichier, au moment du commit, TortoiseSVN va vous lister toutes les actions qu'il va commiter, il est possible de décocher les cases des actions qu'on ne voudra pas commiter. En revanche, TortoiseSVN présente aussi toutes les actions qu'il ne va pas commiter (comme les fichiers non versionnés ou les fichiers supprimés). Il suffit de cocher la case à côté pour qu'il les prenne en compte !
Copie, déplacement, export
Encore une fois, faire un copier-coller de fichier versionné n'est pas très efficace puisque ces fichiers correspondront toujours à la même URL sur le SVN et donc les deux copies feront des
commit au même endroit sur le serveur. Implication directe : même si l'on a deux copies sur le client, on n'en aura pas sur le serveur ; donc, ça ne sert à rien.
Comment faire pour déplacer et copier subtilement des fichiers, alors ?
En utilisant la fonction de copie du SVN. Pour la trouver, il suffit de faire un
drag & drop avec le clic droit d'un fichier versionné.
On obtient le choix dans la liste d'actions suivantes :
Move permet de déplacer le fichier, on peut aussi le renommer au passage.
Copy permet de créer une copie du fichier (
le fichier sera aussi copié sur le serveur) ; à nouveau, on peut renommer au passage.
Export permet d'exporter les fichiers (comme vu dans le chapitre précédent).
Je n'ai pas très bien compris la différence entre Export et Export all ! Dans le doute, moi, j'utilise Export : si quelqu'un trouve la différence, je suis intéressé.
TortoiseSVN est bien fait, il ne vous propose les options que quand c'est possible ; si vous essayez de faire une copie ou un déplacement du fichier en dehors du répertoire de travail, il ne va pas vous proposer la commande !
Voilà, c'est tout pour TortoiseSVN, je vous conseille quand même de lire la partie pour UNIX pour comprendre comment ça se passe.