J'ai un gros soucis avec le dépôt svn de UserAdvManager : J'ai lancé un renommage "svn rename" sur mon dépôt local. NBC_UserAdvManager deviendrait UserAdvManager. Tout semble s'être bien déroulé jusqu'à ce que je lance un update sur l'ensemble de mes dépôts.
Et là, c'est le drame : Conflit d'arborescence sur le dossier NBC_UserAdvManager qui aurait dû disparaitre. J'ai bien le nouveau dossier UserAdvManager mais le journal des modifications est tronqué sur les 4 derniers commits. Ils sont restés sur le dossier NBC_UserAdvManager. :-(
J'ai essayé d'éditer les conflits sur le dossier NBC_UserAdvManager mais il ne m'est pas proposé de fusionner pour résoudre mais seulement "Garder le répertoire du référentiel" et "Marquer le conflit comme résolu".
Quelle est la meilleur méthode pour remettre tout d'aplomb ?
Hors ligne
Déjà, tu as fait correctement le renommage, l'historique SVN a bien été transféré entre NBC_UserAdvManager et UserAdvManager.
Ensuite, je ne sais pas bien ce que sont tes dépôts "locaux", je suppose qu'il s'agit de tes copies de travail (tes "svn checkout").
En faisant un "svn update" sur NBC_UserAdvManager, ta copie de travail ne va pas renommer le répertoire, il va falloir faire un nouveau checkout.
En ligne
plg a écrit:
Déjà, tu as fait correctement le renommage, l'historique SVN a bien été transféré entre NBC_UserAdvManager et UserAdvManager.
Ben non, justement. Lorsque je compare l'historique du dossier SVN "NBC_UserAdvManager" et celui de "UserAdvManager", je m'aperçoit qu'il manque les commits 9853, 9846 et 9827 pour "UserAdvManager". Tout le reste est bien passé.
plg a écrit:
Ensuite, je ne sais pas bien ce que sont tes dépôts "locaux", je suppose qu'il s'agit de tes copies de travail (tes "svn checkout").
Oui, c'est çà. Mes "svn checkout". Sauf qu'à l'époque, j'avais fait un checkout sur tout le dépôt svn des plugins. J'ai donc tous les plugins en copie de travail. J'ai eu la flemme de changer çà mais là, je vais être obligé.
plg a écrit:
En faisant un "svn update" sur NBC_UserAdvManager, ta copie de travail ne va pas renommer le répertoire, il va falloir faire un nouveau checkout.
Pour le coup, j'ai lancé un checkout uniquement (pour l'instant) sur UAM. J'ai bien un dossier UserAdvManager et c'est normal. Mais j'ai aussi un dossier NBC_UserAdvManager disponible sur le serveur. Et çà, çà l'est moins puisqu'il est sensé être renommé et l'historique transféré. Mais comme il y a un souci avec l'historique, j'aimerai essayer de le retransférer vers UserAdvManager avant de supprimer définitivement NBC_UserAdvManager.
Bref, c'est un peu confus (vu l'heure !) et je reprendrai çà après une nuit de sommeil ;-)
Hors ligne
Eric a écrit:
Oui, c'est çà. Mes "svn checkout". Sauf qu'à l'époque, j'avais fait un checkout sur tout le dépôt svn des plugins. J'ai donc tous les plugins en copie de travail. J'ai eu la flemme de changer çà mais là, je vais être obligé.
Dans ce cas la tu fais une mise à jour de tout le répertoire des plugins et il mettra à jour
c'est un peux long car certain 'producteur' de plugin ont plein de tag et de branche sur leur extension :-D
Hors ligne
ddtddt a écrit:
Eric a écrit:
Oui, c'est çà. Mes "svn checkout". Sauf qu'à l'époque, j'avais fait un checkout sur tout le dépôt svn des plugins. J'ai donc tous les plugins en copie de travail. J'ai eu la flemme de changer çà mais là, je vais être obligé.
Dans ce cas la tu fais une mise à jour de tout le répertoire des plugins et il mettra à jour
c'est un peux long car certain 'producteur' de plugin ont plein de tag et de branche sur leur extension :-D
:-))
Mais non, ce n'est pas long. Juste un peu plus de 3 minutes chez moi pour récupérer tout le dépôt des extensions ;-)
Par contre la mise à jour du répertoire global comme tu le suggères ne règle pas le problème. Il y a toujours sur le dépôt SVN en ligne un dossier ../extensions/NBC_UserAdvManager et un autre ../extensions/UserAdvManager. Dans mon checkout, le premier affiche un journal (historique) complet alors que pour le second, il manque des entrées. Les 3 citées dans mon post précédent.
Je n'ose pas lancer une suppression SVN du dossier NBC_UserAdvManager car je perdrai les entrées d'historique qui n'ont pas été transférées correctement vers UserAdvManager. Par contre, au niveau contenu, les deux dossiers sont identiques.
Je pourrai peut-être essayer de supprimer par SVN le dossier UserAdvManager et retenter un "svn rename" sur NBC_UserAdvManager ? Au pire, je devrai me retrouver dans la situation actuelle, non ?
Hors ligne
Ok, j'ai résolu mon problème :-)
Voici ce qu'il faut faire (ou plutôt ce qu'il ne faut pas faire) pour renommer un dépôt SVN à partir de TortoiseSVN:
Au départ, j'ai fait la boulette de renommer (svn rename) ma copie de travail (mon checkout) alors que c'est sur le référentiel qu'il faut effectuer le renommage pour refaire un checkout ensuite afin de récupérer une nouvelle copie de travail.
Pour cela, il faut utiliser le navigateur de référentiel et y effectuer un "svn rename" sur le dossier à renommer. Ensuite, il suffit de supprimer son ancienne copie de travail et faire un "svn checkout" sur le nouveau dossier dans le référentiel pour récupérer une nouvelle copie propre et avec tout l'historique ;-)
L'ancienne copie peut alors être supprimé normalement par un delete classique sous Windows. Pas de "svn delete" ! Puisque le dossier obsolète n'existe plus sur le référentiel.
Hors ligne
Je pense que tu te complique un peux la vie !
Tu prends un répertoire avec tortoise SVN renamae et tu commit et le problème et réglé j'ai fait cela pour tous les dossier langue cz -> cs sans aucun problème.
Tu ne serais pas en train de faire une petite crise de questionite aiguë :-p
Hors ligne
Bah, lors de ma première tentative de renommage, j'ai fait comme tu l'indiques : SVN Rename sur mon dossier de travail puis commit. Et c'est là qu'il y a eu tout ce bazar avec les historiques :-/
Il est possible que j'ai été victime d'un bug de TortoiseSVN (j'ai pourtant la dernière version)...
Au moins, en effectuant le rename sur le référentiel et en refaisant un checkout, je suis certain de retrouver mes petits. Et c'est la finalité qui est importante :-)
Hors ligne
Eric a écrit:
Au moins, en effectuant le rename sur le référentiel et en refaisant un checkout, je suis certain de retrouver mes petits. Et c'est la finalité qui est importante :-)
yep :-)
Hors ligne