2013-11-27 10 views
5

Ho risolto alcuni degli strumenti che elaborano Subversion da un determinato repository.Subversion nessun autore, data e messaggio

Mentre la maggior parte le revisioni vengono visualizzati correttamente, 'svn log' restituisce alcuni revisioni con nessun autore, data o un messaggio:

svn log http://myrepository.com -r 123456 
------------------------------------------------------------------------ 
r123456 | (no author) | (no date) | 1 line 


------------------------------------------------------------------------ 

Ho il sospetto che questo è dovuto ad una mancanza di permessi di accesso per particolari file su il percorso cambiato. Potrebbe essere qualcosa di più della semplice mancanza di permessi?

risposta

2

La mancanza di un autore o una data non è un segno di un problema di autorizzazioni. La mancanza di un messaggio di log può essere un segno di un problema di autorizzazioni.

Prima di tutto, Subversion in realtà non richiede le proprietà svn: author, svn: date o svn: log in realtà impostate su qualsiasi cosa. In generale non si finisce con un commit senza svn: author o svn: date vuote a meno che qualcuno non abbia rimosso le proprietà con il comando propdel (ad esempio svn propdel svn:author --revprop -r 1234 $URL). Subversion tenta di incoraggiarti a lasciare un messaggio di log, ma puoi anche dargli uno spazio vuoto a meno che non sia limitato da hook di commit. Quindi è del tutto possibile che qualcuno abbia apportato intenzionalmente tali modifiche alla revisione. Ciò significa anche che tutti gli strumenti che stai usando per elaborare commit di Subversion dovrebbero essere in grado di gestire la mancanza di questi valori.

Per quanto riguarda le autorizzazioni se si utilizza l'autorizzazione basata sul percorso (authz-db con svnserve o AuthzSVNAccessFile con httpd), l'accesso ai percorsi modificati dalla revisione può limitare ciò che è possibile vedere.

In particolare:

  • Se si ha accesso a tutti i percorsi potrai vedere qualsiasi cosa chiedere inclusi tutti i percorsi modificati e tutte le proprietà di revisione.
  • Se si ha accesso solo a determinati percorsi, verranno visualizzati solo i percorsi modificati a cui è possibile accedere quando si utilizza -v e solo le proprietà di revisione svn: author e svn: date. svn: il log sarà nascosto poiché potrebbe contenere i nomi dei file ai quali non si ha accesso. Altre proprietà di revisione (anche personalizzate) verranno omesse.
  • Se non si ha accesso a nessuno dei percorsi modificati dalla revisione, la revisione verrà omessa interamente dall'output del registro.
+0

Grazie Ben! Questa è una risposta fantastica! – Hakkar

Problemi correlati