Domanda

Finalmente sono riuscito a far passare il mio gruppo da SourceSafe a Subversion. Sfortunatamente, il mio manager vuole ancora usare blocchi esclusivi su ogni singolo file. Quindi ho impostato la proprietà svn: needs-lock su ogni file e ho creato un hook pre-commit per assicurarsi che la proprietà rimanga impostata.

Stiamo eseguendo Subversion su un server Linux. Molti di noi usano macchine Windows e alcuni usano Mac. Stiamo utilizzando vari client SVN (TortoiseSVN, SmartSVN, Subclipse, ecc.).

Ciò di cui abbiamo ora bisogno è un metodo buono / semplice per vedere tutti i file che sono attualmente bloccati in tutto il repository (e chi li ha bloccati). Ho cercato un po 'in Tortoise e Subclipse, ma non ho trovato quello che cercavo. I nostri progetti hanno molte sottodirectory che sono profonde a più livelli, quindi sarebbe troppo tempo per esaminare ogni singola directory.

Quello che vorrei è un singolo report che posso eseguire che elenca tutto ciò che è attualmente bloccato e chi lo ha bloccato. Qual è il modo migliore per ottenere questo tipo di informazioni?

È stato utile?

Soluzione

Quello che stai cercando è svnadmin lslocks comando.

Ho installato questo programma perché conserviamo alcuni documenti Word nel nostro repository Subversion (con svn: needs-lock ). Ho creato un lavoro cron che ogni giorno controlla l'elenco dei blocchi e invia un rapporto di tutti i blocchi più vecchi di 7 giorni a tutto il team. In questo modo possiamo dire chi è stato allentato e seduto su una copia bloccata di un documento per lungo tempo.

Altri suggerimenti

Questa potrebbe non essere la risposta che stai cercando, ma dovresti provare a convincere il gestore che i blocchi non sono in realtà le migliori pratiche di sviluppo. Ci sono molte cose scritte su questo argomento, quindi non ripeterò tutto qui.

Quando passi da un ambiente di blocco a uno senza blocchi di cassa forzati, all'inizio pensi che porterà al caos, ma in realtà non lo fa. SVN è bravo a unire le modifiche quando due persone stanno lavorando sullo stesso file e, anche se si verificano conflitti, non è così male risolverle.

Molto meglio che aspettare il ragazzo che è andato a pranzo con un file critico estratto, o peggio ancora, è andato in vacanza.

Per vedere quali blocchi sono bloccati da te e dagli altri, puoi usare TortoiseSVN ? Verifica modifiche .... I token di blocco mantenuti localmente vengono visualizzati immediatamente. Per verificare la presenza di blocchi detenuti da altri (e per vedere se alcuni dei blocchi sono rotti o rubati) è necessario fare clic su Controlla repository.

Puoi scoprire i blocchi da un checkout locale usando svn status --show-updates che metterà un O prima di tutti i file che sono bloccati sul server.

per es.

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

vedi the svnbook per maggiori dettagli

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top