Quel est le meilleur moyen de voir quels fichiers sont verrouillés dans Subversion?

StackOverflow https://stackoverflow.com/questions/284950

  •  08-07-2019
  •  | 
  •  

Question

J'ai finalement demandé à mon groupe de passer de SourceSafe à Subversion. Malheureusement, mon responsable souhaite toujours utiliser des verrous exclusifs sur chaque fichier. J'ai donc défini la propriété svn: needs-lock sur chaque fichier et créé un hook de pré-validation pour m'assurer que la propriété reste définie.

Nous utilisons Subversion sur un serveur Linux. La plupart d’entre nous utilisent des machines Windows et quelques-uns utilisent des Mac. Nous utilisons différents clients SVN (TortoiseSVN, SmartSVN, Subclipse, etc.).

Ce dont nous avons maintenant besoin, c’est d’une méthode simple et efficace pour voir tous les fichiers actuellement verrouillés dans l’ensemble du référentiel (et qui les verrouille). J'ai fouillé un peu dans Tortoise et Subclipse, mais je n'ai pas trouvé ce que je cherchais. Nos projets comportent de nombreux sous-répertoires comportant plusieurs niveaux, il serait donc trop fastidieux de consulter chaque répertoire individuellement.

Ce que je voudrais, c’est un rapport unique que je peux exécuter et qui répertorie tout ce qui est actuellement verrouillé et par qui le verrouille. Quel est le meilleur moyen d’obtenir ce type d’informations?

Était-ce utile?

La solution

Ce que vous recherchez, c'est le commande svnadmin lslocks .

J'ai cette configuration au travail car nous conservons certains documents Word dans notre référentiel Subversion (avec svn: needs-lock ). J'ai un travail cron mis en place qui vérifie tous les jours la liste des verrous et envoie par courrier électronique un rapport de tous les verrous de plus de 7 jours à l'ensemble de l'équipe. De cette façon, nous pouvons savoir qui est en train de perdre du temps et de rester assis sur une copie verrouillée d'un document depuis longtemps.

Autres conseils

Ce n'est peut-être pas la solution que vous recherchez, mais vous devez essayer de convaincre le responsable que les verrous ne sont en réalité pas la meilleure pratique de développement. Beaucoup de choses ont été écrites sur ce sujet, je ne vais donc pas tout répéter ici.

Lorsque vous passez d'un environnement de verrouillage à un environnement sans verrouillage de sortie imposé, vous pensez au début que cela conduira au chaos, mais ce n'est vraiment pas le cas. SVN sait bien fusionner les modifications lorsque deux personnes travaillent sur le même fichier, et même si vous vous retrouvez avec des conflits, ce n’est pas si mal de les résoudre.

Bien mieux que d'attendre le type qui est allé déjeuner avec un fichier critique vérifié, ou pire encore, est parti en vacances.

Pour voir les verrous que vous et les autres tenez, vous pouvez utiliser TortoiseSVN & # 8594; Vérifiez les modifications .... Les jetons de verrouillage local apparaissent immédiatement. Pour vérifier les verrous détenus par d'autres personnes (et voir si l'un de vos verrous est brisé ou volé), vous devez cliquer sur Vérifier le référentiel.

Vous pouvez découvrir des verrous à partir d'une caisse locale en utilisant svn status --show-updates , qui placera un O avant tous les fichiers verrouillés sur le serveur.

par exemple

$ svn status --show-updates
     O      279532   LockedFile
?                    UncommittedFile
M           279532   ModifiedFile

voir le svnbook pour plus de détails

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top