Questa è la mia prima domanda qui, quindi spero che non sia fuori tema. Sebbene io stia usando la libreria inotify
di Linux per ascoltare le modifiche ai file, e confronto l'utilizzo di quello con il programma Subversion
, sto specificatamente cercando il algoritmo usato.
Per un umano è molto facile capire se un file è stato creato o modificato. Fare clic sul pulsante New
costituisce il primo e facendo clic sul pulsante Save
costituisce il secondo. Per Linux, entrambe le azioni hanno una seria sovrapposizione. Negli editor di testo, ad esempio, in genere viene creato un file di scambio, quindi copiato / spostato. Ciò rende difficile distinguere tramite inotify
tra una modifica minore in un file e una sovrascrittura deliberata di un file. Quello che sto cercando di capire è come un programma come Subversion
riconosce la differenza tra un utente che ha modificato un file con un editor di testo e un utente che ha effettivamente cancellato il file e aperto un nuovo file con lo stesso nome.
Modifica È stato sottolineato che la sovversione non fa ciò che voglio che faccia, quindi è stato un errore da parte mia usarlo come esempio. Piuttosto, permettimi di riformulare la domanda: "Esiste un programma o un approccio di programmazione noto per abbinare azioni di alto livello come la creazione di nuovi file e il loro salvataggio in azioni di basso livello come la modifica, lo spostamento, la copia, ecc. i file nel sistema e li cambia "?