Fondamentalmente devi avere i diritti di amministratore (direttamente o indirettamente) sul repository per farlo. È possibile configurare il repository per consentire a tutti gli utenti di eseguire questa operazione oppure modificare il messaggio di registro direttamente sul server.
I messaggi di registro vengono conservati nel repository come proprietà associate a ciascuna revisione. Per impostazione predefinita, la proprietà del messaggio di registro (svn: log) non può essere modificata dopo il commit . Questo perché le modifiche alle proprietà di revisione (di cui svn: log è una) fanno sì che il valore precedente della proprietà venga scartato in modo permanente e Subversion cerca di impedirti di farlo accidentalmente. Tuttavia, ci sono un paio di modi per far sì che Subversion cambi una proprietà di revisione.
Il primo modo è per l'amministratore del repository di abilitare le modifiche alle proprietà di revisione. Questo viene fatto creando un hook chiamato "pre-revprop-change" (vedi questa sezione nel libro Subversion per maggiori dettagli su come farlo). L'hook "pre-revprop-change" ha accesso al vecchio messaggio di registro prima che venga modificato, quindi può conservarlo in qualche modo (ad esempio, inviando un'e-mail). Una volta abilitate le modifiche alle proprietà di revisione, è possibile modificare il messaggio di registro di una revisione passando l'interruttore --revprop a svn propedit o svn propset, come uno di questi:
$svn propedit -r N --revprop svn:log URL
$svn propset -r N --revprop svn:log "new log message" URL
dove N è il numero di revisione di cui si desidera modificare il messaggio di registro e URL è la posizione del repository. Se si esegue questo comando da una copia funzionante, è possibile lasciare l'URL.
Il secondo modo di modificare un messaggio di registro è utilizzare setlog svnadmin.
Questo deve essere fatto facendo riferimento alla posizione del repository sul filesystem. Non è possibile modificare un repository remoto utilizzando questo comando.
$ svnadmin setlog REPOS_PATH -r N FILE
dove REPOS_PATH è il percorso del repository, N è il numero di revisione di cui si desidera modificare il messaggio di registro e FILE è un file contenente il nuovo messaggio di registro. Se l'hook "pre-revprop-change" non è a posto (o vuoi bypassare lo script hook per qualche motivo), puoi anche usare l'opzione --bypass-hooks. Tuttavia, se decidi di utilizzare questa opzione, fai molta attenzione. È possibile ignorare elementi quali notifiche e-mail della modifica o sistemi di backup che tengono traccia delle proprietà della revisione.