Datums-/Zeitangabe - Beispiel
In diesem Beispiel hat ein C-Programmierer die Datei HILFE.C in VSS und in seinem Arbeitsordner. Sein Compiler erzeugt aus dieser Quellcodedatei das Objektmodul HILFE.OBJ. Während des Entwicklungszyklus können beide Dateien, HILFE.C und HILFE.OBJ, jederzeit im selben Ordner vorhanden sein. Jedes Mal, wenn der Entwickler auf der Betriebssystemebene MAKE eingibt, vergleicht sein Dienstprogramm Make die Datums-/Zeitangabe der Dateien HILFE.C und HILFE.OBJ, um festzustellen, ob kompiliert werden muss. Dabei gelten folgende Regeln:
- Ist HILFE.C aktueller als HILFE.OBJ, hat sich der Code geändert, und es muss neu kompiliert werden.
- Ist HILFE.OBJ aktueller als HILFE.C, wurde der Code bereits kompiliert, und es muss nicht neu kompiliert werden.
Dieses einfache, logische und konsistente Verhalten gewährleistet, dass bei jedem Durchführen des Dienstprogramms Make das gesamte Programm so schnell wie möglich aus der aktuellsten Codeversion erstellt wird.
Bedenken Sie nun die sich daraus für VSS ergebenden Details. Sie kompilieren die Datei HILFE.C zu HILFE.OBJ, wobei letztere eine neue Datums- und Zeitangabe erhält. Wenn Sie das Dienstprogramm Make erneut ausführen, ohne Änderungen vorzunehmen, wird HILFE.C nicht neu kompiliert. Wenn Sie mit Ihren Änderungen zufrieden sind, checken Sie die Datei HILFE.C in VSS ein, um sie am nächsten Tag erneut abzurufen.
Wurde HILFE.C nicht geändert, so erkennt VSS, dass seine Masterkopie und Ihre lokale Kopie übereinstimmen. VSS ruft die Datei nicht ab, und das Datum und die Uhrzeit der Datei werden nicht geändert. Außerdem wird die Datei - erwartungsgemäß - nicht neu kompiliert.
Hat ein anderer Entwickler HILFE.C geändert, so erkennt VSS, dass die Dateien sich unterscheiden. HILFE.C wird abgerufen und auf die aktuelle Datums- und Zeitangabe gesetzt (statt der Zeitangabe, zu der die Datei eingecheckt wurde). Wenn Sie das Dienstprogramm Make wieder ausführen, wird die Datei natürlich erneut kompiliert. Das Dienstprogramm erhält von VSS also die richtigen Signale, und zwar unabhängig davon, ob die Datei geändert wurde.