Esiste un sistema di controllo del codice sorgente che consente il monitoraggio delle modifiche al nome del file?
-
03-07-2019 - |
Domanda
Quindi, ho vissuto con i miei repository cvs per qualche tempo. Anche se c'è qualcosa che mi manca: se rinominare un file che è già nel repository, devo eliminare quello con il vecchio nome da lì e aggiungere quello nuovo. Quindi, perdo tutta la mia storia di cambiamento. E a volte è necessario rinominare un file in un progetto già esistente.
Da quello che ho visto, cvs / svn non può gestire qualcosa del genere, o sbaglio? In caso contrario, quale altro sistema di controllo del codice sorgente consiglieresti, che consente la ridenominazione dei file?
Soluzione
Subversion può farlo, ma devi farlo con
svn move <oldfile> <newfile>
Modifica: e in questo decennio, facciamo git mv <oldfile> <newfile>
, o semplicemente usiamo mv
e git di solito lo capisce da solo.
Altri suggerimenti
Il manuale CVS online contiene alcuni dettagli su come fare in questo modo:
Il modo normale per spostare un file è emettere un comando cvs rename.
$ cvs rename old new $ cvs commit -m "Renamed old to new"
Questo è il modo più semplice per spostare un file. Non è soggetto a errori e conserva la storia di ciò che è stato fatto. I client CVSNT possono recuperare il nome originale controllando una versione precedente del repository.
Questa funzione è supportata solo sui server CVSNT 2.0.55 e successivi.
Quasi tutti i moderni sistemi di controllo della versione lo consentiranno (Subversion, Perforce, Vault, git, Mercurial, TFS, ecc.).
Gli unici a cui riesco a pensare che non saranno (o che presentano importanti avvertimenti) sono CVS e VSS.
In svn, usa svn mv.
Vedi anche: http://subversion.tigris.org/faq.html# cambio di caso nelle FAQ.
Subversion ha la capacità di rinominare.