Borland® StarTeam® 2006 - Borland Technical Publications

Borland® StarTeam® 2006 - Borland Technical Publications Borland® StarTeam® 2006 - Borland Technical Publications

techpubs.borland.com
von techpubs.borland.com Mehr von diesem Publisher
22.11.2013 Aufrufe

Projektübergreifende Dateiabhängigkeiten Wenn Projekte sehr stark zusammenhängen, sind die projektübergreifenden Abhängigkeiten nur minimal, dennoch können projektübergreifende Dateirelationen auftreten. Einige, entweder verfasste oder generierte Dateien müssen möglicherweise in mehreren Projekten verwendet werden. Eine Möglichkeit der Handhabung dieser Situation ist, die abhängigen Dateien eines Projekts in anderen Projekten gemeinsam zu nutzen. Oberflächlich gesehen funktioniert dieser Ansatz, aber die Erfahrung zeigt, dass projektübergreifende Freigaben aus mehreren Gründen problematisch sind: ♦ Wenn das Verhalten einer Freigabe auf "frei platzierbar" konfiguriert ist, gehen Änderungen aus dem übergeordneten Projektfluss sofort in das untergeordnete Projekt über, und dies machmal zu ungelegenen Zeiten. Viele StarTeam-Benutzer sind der Meinung, dass sie die Aktualisierungsverteilung regelmäßiger durchgeführt werden muss. ♦ Wenn das Verhalten einer Freigabe für einen bestimmten Zeitstempel konfiguriert ist, muss dieser gelegentlich angepasst werden, damit die Aktualisierungen verteilt werden können. Dadurch wird das gemeinsam genutzte Element schreibgeschützt und das fortlaufende Anpassen des Konfigurationszeitstempels für eine große Anzahl von Freigaben kann sehr aufwändig werden. ♦ Wenn die Eigenschaft "Verzweigen bei Änderung" einer Freigabe den Wert "true" erhält (möglicherweise unbeabsichtigt) und an der untergeordneten Freigabe wird eine Änderung vorgenommen, verzweigt sich das Objekt im untergeordneten Projekt. Dadurch wird die Freigabe vom übergeordneten Objekt getrennt, was nur schwer rückgängig gemacht werden kann. Wenn es sich bei der untergeordneten Freigabe um einen Ordner handelt, führt eine harmlose Änderung, z. B. das Ändern des Arbeitsordners dazu, dass sich das Ordnerobjekt verzweigt. ♦ Wenn ein Element, das Teil einer Freigabebaumstruktur ist, aktualisiert wird, müssen alle Elemente in dieser Baumstruktur gesperrt werden. Die zunehmende Größe der Freigabebaumstruktur wirkt sich proportional auf die Update-Leistung aus. ♦ Wenn veraltete Ansichten und Projekte gelöscht werden, kann in der Regel das StarTeam-Dienstprogramm für die Bereinigung verwendet werden, um nicht verwendete Datenbankdatensätze und Archivdateien zurückzugeben. Freigaben, die von einem gelöschten Projekt oder einer gelöschten Ansicht verwendet werden, können jedoch verhindern, dass das Dienstprogramm für die Bereinigung die erwartete Reduzierung der Datenbank- und Archivgröße erreicht. Dies bedeutet, dass die Größe von Serverkonfigurationen, die produktübergreifende Freigaben verwenden, möglicherweise nicht reduziert werden kann. Aus diesen Gründen haben sich andere Techniken für die Handhabung projektübergreifender Dateiabhängigkeiten als effektiver erwiesen. Im Folgenden finden Sie einige Alternativen für Freigaben, die in unterschiedlichen Situationen funktionieren. Letztendlich sind Freigaben möglicherweise immer noch die geeignetste Möglichkeit, Dateien aus einem Projekt in einem anderen freizulegen, dennoch sollten die folgenden Ansätze zuerst in Erwägung gezogen werden. Bereitstellungsansatz Wenn ein Projekt Dateien "besitzt", die in andere Projekte eingecheckt werden müssen, können Sie einen Prozess einrichten, in dem die Dateien regelmäßig "bereitgestellt" werden. Dies bedeutet, dass die Dateien bei Bedarf und möglicherweise auf Skriptbasis in das Zielprojekt eingecheckt werden. Häufig ist ein Build-Skript eine gute Möglichkeit, den Bereitstellungs-Task einzubetten, besonders dann, wenn die bereitzustellenden Dateien vom Build generiert werden. Konfigurationsansatz Es kann vorkommen, dass die abhängigen Dateien nicht in jedes Projekt eingecheckt werden müssen, sie sind jedoch Teil eines allgemeinen Prozesses, z. B. eines Build- oder Bereitstellungsprozesses. In diesen Fällen kann eine einfache XML-Datei erstellt werden, in der die Dateien angegeben sind, die an dem jeweiligen Prozess beteiligt sind. Wenn die Datei an einem eingerichteten Speicherort eingecheckt und bei Konfigurationsänderungen 308

aktualisiert wird, dann können Build-, Release- oder andere Skripts die XML-Datei auschecken, sie analysieren und bei der Verarbeitung die darin enthaltenen Anweisungen verwenden. Verknüpfungsansatz Anstelle von Freigaben können auch Verknüpfungen verwendet werden, um Objekte serverübergreifend zu verbinden. Mit Verknüpfungen treten viele der mit Freigaben in Zusammenhang stehenden Probleme nicht auf und sie können angeheftet, gelöst und verschoben werden, um auf unterschiedliche Objektrevisionen zu verweisen. Der Nachteil von Verknüpfungen besteht darin, dass sie nicht typisiert, keine Versionsnummer und keine anderen Eigenschaften außer einem Verknüpfungskommentar besitzen, um sie von anderen Verknüpfungen zu unterscheiden, die ebenfalls vorhanden sein können. Verwandte Konzepte Projektadministration Übersicht über Projekte Projektübergreifende Dateiabhängigkeiten Projektübergreifende Aktivitäten unterstützen Verwandte Verfahrensweisen Projekte verwalten 309

Projektübergreifende Dateiabhängigkeiten<br />

Wenn Projekte sehr stark zusammenhängen, sind die projektübergreifenden Abhängigkeiten nur minimal, dennoch<br />

können projektübergreifende Dateirelationen auftreten. Einige, entweder verfasste oder generierte Dateien müssen<br />

möglicherweise in mehreren Projekten verwendet werden.<br />

Eine Möglichkeit der Handhabung dieser Situation ist, die abhängigen Dateien eines Projekts in anderen Projekten<br />

gemeinsam zu nutzen. Oberflächlich gesehen funktioniert dieser Ansatz, aber die Erfahrung zeigt, dass<br />

projektübergreifende Freigaben aus mehreren Gründen problematisch sind:<br />

♦ Wenn das Verhalten einer Freigabe auf "frei platzierbar" konfiguriert ist, gehen Änderungen aus dem<br />

übergeordneten Projektfluss sofort in das untergeordnete Projekt über, und dies machmal zu ungelegenen<br />

Zeiten. Viele StarTeam-Benutzer sind der Meinung, dass sie die Aktualisierungsverteilung regelmäßiger<br />

durchgeführt werden muss.<br />

♦ Wenn das Verhalten einer Freigabe für einen bestimmten Zeitstempel konfiguriert ist, muss dieser gelegentlich<br />

angepasst werden, damit die Aktualisierungen verteilt werden können. Dadurch wird das gemeinsam genutzte<br />

Element schreibgeschützt und das fortlaufende Anpassen des Konfigurationszeitstempels für eine große<br />

Anzahl von Freigaben kann sehr aufwändig werden.<br />

♦ Wenn die Eigenschaft "Verzweigen bei Änderung" einer Freigabe den Wert "true" erhält (möglicherweise<br />

unbeabsichtigt) und an der untergeordneten Freigabe wird eine Änderung vorgenommen, verzweigt sich das<br />

Objekt im untergeordneten Projekt. Dadurch wird die Freigabe vom übergeordneten Objekt getrennt, was nur<br />

schwer rückgängig gemacht werden kann. Wenn es sich bei der untergeordneten Freigabe um einen Ordner<br />

handelt, führt eine harmlose Änderung, z. B. das Ändern des Arbeitsordners dazu, dass sich das Ordnerobjekt<br />

verzweigt.<br />

♦ Wenn ein Element, das Teil einer Freigabebaumstruktur ist, aktualisiert wird, müssen alle Elemente in dieser<br />

Baumstruktur gesperrt werden. Die zunehmende Größe der Freigabebaumstruktur wirkt sich proportional auf<br />

die Update-Leistung aus.<br />

♦ Wenn veraltete Ansichten und Projekte gelöscht werden, kann in der Regel das StarTeam-Dienstprogramm<br />

für die Bereinigung verwendet werden, um nicht verwendete Datenbankdatensätze und Archivdateien<br />

zurückzugeben. Freigaben, die von einem gelöschten Projekt oder einer gelöschten Ansicht verwendet<br />

werden, können jedoch verhindern, dass das Dienstprogramm für die Bereinigung die erwartete Reduzierung<br />

der Datenbank- und Archivgröße erreicht. Dies bedeutet, dass die Größe von Serverkonfigurationen, die<br />

produktübergreifende Freigaben verwenden, möglicherweise nicht reduziert werden kann.<br />

Aus diesen Gründen haben sich andere Techniken für die Handhabung projektübergreifender Dateiabhängigkeiten<br />

als effektiver erwiesen. Im Folgenden finden Sie einige Alternativen für Freigaben, die in unterschiedlichen<br />

Situationen funktionieren. Letztendlich sind Freigaben möglicherweise immer noch die geeignetste Möglichkeit,<br />

Dateien aus einem Projekt in einem anderen freizulegen, dennoch sollten die folgenden Ansätze zuerst in Erwägung<br />

gezogen werden.<br />

Bereitstellungsansatz<br />

Wenn ein Projekt Dateien "besitzt", die in andere Projekte eingecheckt werden müssen, können Sie einen Prozess<br />

einrichten, in dem die Dateien regelmäßig "bereitgestellt" werden. Dies bedeutet, dass die Dateien bei Bedarf und<br />

möglicherweise auf Skriptbasis in das Zielprojekt eingecheckt werden. Häufig ist ein Build-Skript eine gute<br />

Möglichkeit, den Bereitstellungs-Task einzubetten, besonders dann, wenn die bereitzustellenden Dateien vom Build<br />

generiert werden.<br />

Konfigurationsansatz<br />

Es kann vorkommen, dass die abhängigen Dateien nicht in jedes Projekt eingecheckt werden müssen, sie sind<br />

jedoch Teil eines allgemeinen Prozesses, z. B. eines Build- oder Bereitstellungsprozesses. In diesen Fällen kann<br />

eine einfache XML-Datei erstellt werden, in der die Dateien angegeben sind, die an dem jeweiligen Prozess beteiligt<br />

sind. Wenn die Datei an einem eingerichteten Speicherort eingecheckt und bei Konfigurationsänderungen<br />

308

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!