Überwachen

Eine Überwachung ist die übliche Bezeichnung für die Fähigkeit von CVS die Benutzer zu benachrichtigen, wenn eine Datei geändert wurde oder ein anderer Entwickler mit deren Bearbeitung begonnen hat. Die Verwendung von Überwachungen setzt voraus, dass die Datei $CVSROOT/CVSROOT/notify entsprechend eingerichtet wurde. Dieses Thema wird hier nicht weiter behandelt. Wenn Sie weitergehende Informationen benötigen, finden Sie diese in den im Anhang erwähnten Büchern.

Cervisias Unterstützung für Überwachungen umfasst sechs Menüpunkte.

Möchten Sie für eine oder mehrere Dateien eine Überwachung setzen, verwenden Sie den Menüeintrag ErweitertStatus „Überwachen“ setzen .... Der erscheinende Dialog bietet Ihnen die Möglichkeit über alle von CVS unterstützten Vorgänge benachrichtigt zu werden. Möchten Sie beispielsweise eine Benachrichtigung erhalten, wenn eine Datei eingespielt wird, markieren Sie die Ankreuzfelder Nur und Einspielungen. Möchten Sie über alle Vorgänge benachrichtigt werden, markieren Sie das Ankreuzfeld Alle. Bei Abschließen des Dialogs wird folgende Befehlszeile ausgeführt:

cvs watch add -a commit Dateinamen

oder eine ähnlichen Befehlszeile, abhängig von den im Dialog ausgewählten Ereignissen.

Wenn Sie an einigen Dateien nicht mehr interessiert sind, können Sie die Überwachung aufheben. Hierzu wählen Sie im Menü ErweitertStatus „Überwachen“ entfernen .... In diesem Dialog werden dieselben Optionen angeboten wie beim Setzen der Überwachung. Schließen Sie diesen Dialog ab, setzt Cervisia folgenden Befehl ab:

cvs watch remove Dateinamen

gegebenenfalls mit der Option -a für das ausgewählte Ereignis.

Darüberhinaus können Sie eine Liste von Benutzern anfordern, die bestimmte Dateien überwachen. Wählen Sie im Menü ErweitertÜberwacher anzeigen. Hierdurch wird folgender Befehl ausgeführt:

cvs watchers Dateinamen

Gewöhnlich wird CVS dergestalt eingesetzt, dass jeder Entwickler in seinem lokalen Arbeitsordner arbeitet. Möchte er eine Datei ändern, öffnet er sie in seinem Editor und bearbeitet sie. Erst das Einspielen der geänderten Datei bewirkt, dass andere Entwickler bemerken, dass er an dieser Datei arbeitet.

Manche Entwicklergruppen bevorzugen eine andere Vorgehensweise. Sie möchten informiert werden, wenn jemand eine Datei bearbeitet, und zwar sobald er damit beginnt. Dies erreicht man durch die Anwendung weiterer CVS-Befehle. Möchte Sie eine Datei bearbeiten, wählen Sie sie in Cervisia aus und rufen Sie den Menüpunkt ErweitertDatei bearbeiten auf. Hierdurch wird der folgende Befehl ausgeführt:

cvs edit Dateinamen

Hierdurch erhalten alle Benutzer eine Mitteilung, die für diese Datei die Überwachung des Ereignisses Bearbeiten gesetzt haben. Gleichzeitig werden Sie als Bearbeiter der Datei registriert. Eine Liste aller Bearbeiter einer Datei erhalten Sie über ErweitertBearbeiter anzeigen. Dies entspricht dem Befehl:

cvs editors Dateinamen

Eine Bearbeitungs-Sitzung wird automatisch beim Einspielen der betreffenden Datei beendet. Zu diesem Zeitpunkt wird an alle, die eine entsprechende Überwachung für diese Datei gesetzt haben, eine unedit-Benachrichtigung verschickt. Natürlich kann es auch vorkommen, dass Sie eine Datei nicht einspielen möchten und die Bearbeitungs-Sitzung abbrechen, um auf die zuletzt eingespielte Version der Datei zurückzugehen. Hierzu wählen Sie im Menü ErweitertStatus „in Bearbeitung“ zurücknehmen. Beachten Sie hierbei, dass Cervisia diesen Befehl ohne Rückfrage ausführt. Das bedeutet im Klartext, dass sämtliche Änderungen, die Sie seit dem letzten Aufruf von ErweitertDatei bearbeiten durchgeführt haben, verloren gehen. Genau gesagt führt Cervisia folgenden Befehl aus:

echo y | cvs unedit Dateinamen

Bislang haben wir nur den Fall besprochen, bei dem die Entwickler die Bearbeitungs-Befehle freiwillig benutzen. Darüber hinaus unterstützt CVS ein Entwicklungsmodell, bei dem der Einsatz dieser Befehle erzwungen wird. Der hierfür verantwortliche Befehl lautet cvs watch on. Er soll hier nicht weiter erläutert werden, da er normalerweise vom Administrator des CVS-Archivs verwendet wird. Für den Entwickler ist hierbei nur wichtig, dass bei diesem erzwungenen Bearbeitungs-Modus, die Arbeitskopien der Dateien beim Auslesen aus dem CVS-Archiv den Status nur lesen erhalten. Das bedeutet, dass Sie eine Datei normalerweise nicht ändern können (es sei denn, Sie verwenden Tricks wie den Befehl chmod). Erst wenn Sie ErweitertDateien bearbeiten auswählen, wird die Datei beschreibbar. Sobald Sie die Datei einspielen oder im Menü ErweitertStatus „in Bearbeitung“ zurücknehmen auswählen, wird die Datei erneut nur lesbar.

Cervisias Editor-Schnittstelle unterstützt Sie bei Projekten, die Überwachungen erzwingen, auch auf andere Weise. Wenn Sie einen Editor durch Doppelklick auf eine Datei mit dem Status nur lesen oder durch Auswahl von DateiBearbeiten öffnen, wären Sie später nicht in der Lage, Ihre Änderungen abzuspeichern. Das hat natürlich seine Gründe. Immer dann, wenn Sie eine Datei ändern wollen, sollten Sie zuvor den Befehl cvs edit ausführen, sodass alle Anwender, die diese Datei überwachen, darüber benachrichtigt werden, dass Sie diese Datei bearbeiten.

In einem solchen Fall ist es ratsam, die Option EinstellungenBei Bedarf automatisch Status „in Bearbeitung“ setzen zu markieren. Jetzt führt Cervisia, sobald Sie eine Datei mit einem Doppelklick öffnen, erst den Befehl cvs edit aus, bevor der Editor mit der Datei aufgerufen wird. Sie können diese Datei dann wie sonst auch bearbeiten. Wenn Sie die Änderungen durchgeführt haben, spielen Sie die Datei ein, und die eingespielte Datei erhält wieder den Status nur lesen.