2009-07-18 15 views
2

Ich muss CVS in einem Projekt verwenden. Bisher in meinem gesamten Berufsleben habe ich nur notgedrungen gebraucht und ich weiß nichts über CVS, ich habe das ganze CVS-Handbuch gelesen aber konnte nicht finden, wie man das macht:CVS Nur lesen Auschecken

In notfalls, wenn Sie eine Datei auschecken Sie müssen zuerst einen p4 editieren Dateiname.C (dem Perforziersystem mitteilen, dass Sie absichtlich diese Datei editieren wollen mit der Absicht, sie schließlich einzureichen)

In CVS, als ich eine Datei ausgecheckt habe, indem ich cvs gemacht habe co fileName.C, die Datei befindet sich bereits im Bearbeitungszustand.

Was ist das Äquivalent in CVS, was normalerweise die übliche Praxis ist?

[Ich mag die zusätzliche Sicherheit, das Quellcodeverwaltungssystem zuerst ausdrücklich mit der Absicht zu beauftragen, die Datei zu bearbeiten, bevor Sie damit beginnen. Auf diese Weise können Sie leicht die von Ihnen bearbeiteten Dateien ansehen, Änderungen rückgängig machen etc. Außerdem können Sie auch temporäre Änderungen vornehmen, indem Sie Dateien explizit editieren, ohne vorher p4 edit fileName.C auszuführen. Später wissen Sie, dass Sie diese nur als temporär verstanden haben Änderungen]

Vielen Dank!

+1

commiserations auf mit CVS verwenden .... –

Antwort

1

CVS hat einen "Edit" -Befehl, der den Server darüber informiert, dass Sie die Datei bearbeiten. Das wird ehrlich gesagt selten benutzt. Es besteht keine Notwendigkeit, das System zu informieren, wenn Sie eine Datei bearbeiten, dies kann leicht festgestellt werden, indem überprüft wird, ob sich die Inhalte unterscheiden.

Subversion hat die Fähigkeit, eine Datei zu sperren, was mehr von dem sein kann, was Sie versuchen zu tun.

Verteilte Systeme haben keine solche Vorstellung, da sie nicht implementiert werden müssen (und auch nicht möglich).

Nebenbei bemerkt ist die Wahl von CVS rätselhaft. Es gibt jetzt weit bessere Technologien für die Quellcodeverwaltung.

+0

_There sind weit bessere Technologien für die Quellcodeverwaltung verfügbar now_ finden Sie einige bessere zeigen, Detaillierung, wenn sie GUIs oder Kommando haben Leitungsschnittstelle @ Yann – madD7

3

Sie können etwas tun:

cvs -r checkout .... 

dann, wenn Sie eine Datei bearbeiten möchten, müssen Sie

cvs edit filename 

Auch, wenn Sie möchten, verpflichten sich, die Dateien zurückzukehren nur schreib Sie müssen

cvs -r commit ... 

Oder, vergessen Sie die -r und nur die CVSREAD-Umgebungsvariable. Viel einfacher!

aus dem CVS-man-Seite, im globalen Abschnitt Optionen:

-r

Knüpfen Sie neue Arbeitsdateien schreibgeschützt. Derselbe Effekt, als wäre die Umgebungsvariable $ CVSREAD gesetzt (siehe Knoten Umgebungsvariablen im Handbuch CVS ). Standardmäßig werden Arbeitsdateien schreibbar gemacht, es sei denn, die Uhren sind eingeschaltet (siehe Knoten "Uhren" im CVS-Handbuch ).

Beispiel:

$ cvs -r checkout baz 
cvs checkout: Updating baz 
U baz/file 
$ ls -l baz/file 
-r--r--r-- 1 rfeany None 13 Jul 17 21:08 baz/file 
$ cvs edit baz/file 
$ ls -l baz/file 
-rw-r--r-- 1 rfeany None 13 Jul 17 21:08 baz/file