2011-02-24 3 views
0

Je suis connecté à notre serveur Web Linux via SSH. Il n'y a que trois fichiers modifiés dans mon dépôt SVN, et j'ai tapé svn ci -m "message" pour les valider. J'ai été en train de commettre des fichiers toute la matinée sans aucun problème, mais maintenant svn est suspendu en essayant d'envoyer le premier fichier!Subversion Validation se bloque indéfiniment après le premier fichier

Mon écran ressemble actuellement à ceci:

Sending  path/to/my/file.php 



^C 



^C 





. 

Ce ^C est bien sûr où, après quelques minutes d'attente, j'ai essayé d'annuler l'opération en utilisant Control-C. Les lignes vides sont où j'ai appuyé sur Entrée juste pour m'assurer que ma connexion SSH était toujours active.

Je me suis à nouveau connecté et j'ai effectué un svn status sur le repo, et cela montre que tout est verrouillé.

Que se passe-t-il ici ?? Que puis-je faire pour sauver mon repo et le faire commettre normalement à nouveau?

Répondre

0

J'ai rencontré exactement le même symptôme, et dans mon cas, il s'est avéré être un problème de verrouillage RPC. J'accède à mon repo en utilisant le fichier: localement et sur NFS, et via svn + ssh :.

Je ne pouvais pas valider à partir de n'importe quel client, mais tout le reste fonctionnait correctement.

Apparemment, un client NFS s'est détraqué et a laissé un verrou sur le repo. (Probablement mon MacBook utilisant WIFI, qui s'est avéré être un client NFS peu fiable en général.)

Redémarrer l'état et verrouillé sur le serveur hébergeant le repo a immédiatement résolu le problème.

+0

Je n'ai jamais déterminé quel processus tenait sur le repo, mais redémarrer le serveur (et faire un nettoyage) semblait résoudre le problème. –

0

En supposition - et c'est un WAG complet - vous utilisez un Berkeley DB backed repository et accédez au repo via le fichier: // ou svn + ssh: //. La meilleure pratique pour utiliser un repo sauvegardé par BDB est d'accéder uniquement via svnserve (svn: //) ou le module apache dav_svn (http: //) - cela permet d'éliminer plusieurs problèmes de propriété de fichier pour les fichiers journaux de base de données . Si vous devez exécuter un repo BDB et que vous devez y accéder via svn + ssh: // ou file: //, vous devez consulter la section Supporting Multiple Repository Access Methods du livre Version Control with Subversion.

Si vous n'êtes pas particulièrement lié à un repo BDB, jetez un coup d'œil aux repos FSFS. Ils n'ont pas beaucoup de problèmes que les repos BDB ont.

Si vous utilisez déjà un repo FSFS ... eh bien, vous m'avez là-bas. Je ne pensais pas qu'il était possible de coincer un repo FSFS.

Questions connexes