Se SVN* non vi fa il commit e vi da un errore segnalando che un file è bloccato e non presente con questo formato di path:
XXX\nnn-n.txn\changes
Con un messaggio del tipo:
Impossibile eseguire l'operazione specificata su un file la cui sezione mappata dall'utente è aperta
Non preoccupatevi, tutto si risolve. E' probabilissimo che il file sia semplicemente bloccato dal vostro antivirus.
La soluzione è piuttosto banale: impostate che il vostro antivirus escluda dalla scansione i file .svn o la cartella del repository. Nel mio caso l'antivirus è AVG e – a quanto pare – non è possibile escludere le singole extension. Quello che è possibile fare è escludere uno o più file, piuttosto che una o più directory.
La soluzione migliore con Grisoft AVG Free Antivirus (free.grisoft.com) – che consiglio vivamente per precisione e prestazioni – è quindi quella di escludere la directory del repository. Aprite la console di gestione di AVG con un doppio click sull'icona presente tra le trayicon, quindi:
Menu > Strumenti > Impostazioni avanzate … > Resident Shiel > Esclusioni di directory > Aggiungi percorso
Inserite il path dove avete impostato il repository di SVN e rieseguire il commit: tutto dovrebbe correttamente funzionare, altrimenti potrebbero esserci dei problemi a livello di settaggio dei permessi nel repository o nelle cartelle del repository.
La soluzione è stata trovata nel sito tortoiseSvn, ovvero il sito di uno dei client visuali per la gestione di SVN.
* SVN (o Subversion) è uno dei sistemi di gestione delle versione di file più famosi sul mercato: rigorosamente open source. La famiglia di questi software si chiama CVS, Cuncurrent Version System, e sostanzialmente permette di creare delle specie di backup dei file, mantenendo lo storico della versione e delle modifiche dei singoli autori.