Question fréquentes sur Subversion pour le Projet GL

De Ensiwiki
Aller à : navigation, rechercher

Une liste des quelques erreurs les plus fréquentes avec Subversion pour le Projet GL. Merci de conserver cette liste courte, pour les détails, il existe déjà une FAQ Subversion et le svnbook.

Out of date ... in transaction

"svn commit" echoue avec le message :

 svn: Commit failed (details follow):
 svn: Out of date: 'some/file.adb' in transaction '42-1'

\Rightarrow il faut faire un update avant le commit, une nouvelle revision de file.adb est disponible dans l'archive.

Working copy locked

"svn update" ou "svn commit" echoue avec le message suivant :

 svn: Working copy 'Projet_GL' locked
 svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)

\Rightarrow Vous avez visiblement interrompu un commit avant cela, laissant votre copie de travail au milieu d'une transaction. "svn cleanup" devrait remettre votre copie de travail en etat. Voir http://svnbook.red-bean.com/en/1.4/svn-book.html#svn.tour.cleanup

Attention, lancez "svn cleanup" depuis le repertoire Projet_GL et non un sous-répertoire si vous voulez qu'il fasse le ménage de partout.

Points d'exclamations et "svn status"

"svn status" donne des "!", comme :

 !      .
 M      un-fichier.adb
 !      un-autre-fichier.adb

\Rightarrow Indique en general qu'un fichier a ete efface par un autre outil que Subversion (typiquement, un simple rm). Il faut faire un "svn rm" pour confirmer a SVN que le fichier doit etre supprime dans l'archive. Le cas « ! . » est un peu different : il indique qu'un "svn update" a ete interrompu precedemment (ou bien qu'il s'est arrete sur une erreur). Relancer "svn update" devrait resoudre le probleme.

Problèmes après utilisation du mail ou de scp

vous avez echange des modifications entre membres d'une equipe, en dehors de SVN (par email, scp, cle usb, ...), et vous avez beaucoup de conflits incomprehensible :

\Rightarrow c'est normal. SVN ne sait rien sur ce qu'il se passe par email ou scp, il croit que plusieurs developpeurs ont fait des modifications similaires (et en general pas tout a fait identiques). En bref, si vous utilisez autre chose que subversion pour vous echanger du code, attendez-vous a des problemes.

Object of the same name already exists

"svn update" echoue avec

 svn: Failed to add file 'xxx.adb: object of the same name already exists

\Rightarrow Ca arrive si un fichier xxx.adb a ete ajoute dans l'archive, et que vous avez aussi un fichier xxx.adb dans votre copie locale. Soit c'est un probleme d'organisation (si deux etudiants creent un fichier avec le meme nom sans se concerter), soit c'est que le fichier en question a ete transmis en dehors de SVN (cf. point precedant)

AttentionWindows n'est pas sensible à la casse. Donc si vous renommez truc.adb en Truc.adb, le svn ne comprend pas et vous donne ce message. On peut tenter de résoudre en supprimant la copie sur le svn (via svn rm), mais c'est pas garanti si vous avez déjà tenté d'autres choses.


Problème avec gedit

Si EDITOR=gedit, "svn commit" se plaind d'un message de commit vide (et d'autres commandes comme "svn propedit" posent problème).

\Rightarrow Le problème se produit lorsqu'un gedit est déjà lance (un nouvel appel à gedit demande au programme existant d'ouvrir le fichier, et termine immédiatement, donc SVN croit que gedit a fini le travail). 2 solutions : ne pas utiliser EDITOR=gedit, ou bien fermer toutes les fenêtres gedit avant de faire un commit.