2008-10-02 16 views
6

Od pewnego czasu mieszkam z repozytoriami cvs. Chociaż jest coś, za czym tęsknię - jeśli zmieniam nazwę pliku, który jest już w repozytorium, muszę usunąć ten ze starym nazwiskiem i dodać nowy. Dlatego tracę całą moją historię zmian. Czasami istnieje potrzeba zmiany nazwy pliku w istniejącym projekcie.Czy istnieje system kontroli źródła, który umożliwia śledzenie zmian nazw plików?

Z tego co widziałem, cvs/svn nie może obsłużyć czegoś takiego, czy też się mylę? Jeśli nie, jaki inny system kontroli źródła poleciłbyś, który pozwala na zmianę nazwy plików?

Odpowiedz

12

Subversion może to zrobić, ale trzeba to zrobić z

svn move <oldfile> <newfile> 

EDIT: I w tej dekadzie, robimy git mv <oldfile> <newfile>, lub po prostu użyć mv i git zwykle dane go na własną rękę.

-1

Subversion ma możliwość zmiany nazwy.

4

Prawie każdy nowoczesny system kontroli wersji pozwoli na to (Subversion, Perforce, Vault, Git, Mercurial, TFS, itp.).

Jedyne, o czym mogę myśleć, że nie będzie (lub które mają poważne zastrzeżenia) to CVS i VSS.

7

online CVS manual ma jakiś szczegół na temat jak to zrobić:

normalny sposób, aby przenieść plik jest wydanie polecenia cvs zmienić.

$ cvs rename old new 
$ cvs commit -m "Renamed old to new" 

To najprostszy sposób na przeniesienie pliku. Nie jest podatny na błędy i zachowuje historię tego, co zostało zrobione. Klienci CVSNT mogą pobrać oryginalną nazwę, wyszukując starszą wersję repozytorium.

Ta funkcja jest obsługiwana tylko w serwerach CVSNT w wersji 2.0.55 i nowszych.

Powiązane problemy