3 Stimmen

Starteam "Unbekannte" Dateien

Wir haben eine StarTeam-Ansicht, die zwei Dateien im Zustand "Unbekannt" hat - versteht jemand, warum sie sich in diesem Zustand befinden und/oder wie wir sie aus diesem Zustand herausholen können?

Ist das Löschen und erneute Hinzufügen mit einem anderen Namen die einzige Lösung?

Beachten Sie, dass diese zwei Dateien (regelmäßig oder durch "Erzwungenes Auschecken") immer als "Unbekannt" aufgeführt werden (ärgerlich).

Vielen Dank.


Mehr Informationen basierend auf Craigs Vorschlägen unten:

a) Berechnung des Dateistatus mit MD5-Prüfsumme: gleiche Ergebnisse ("Unbekannter" Status)

b) Diese beiden Dateien haben nur eine Überarbeitung auf dem Server. Ich bin mir nicht sicher, ob dies daran liegt, dass unsere CM-Gruppe versucht hat, das Problem durch Löschen und Neuerstellen der Dateien zu beheben, oder ob tatsächlich nur eine Überarbeitung vorhanden war. Die Dateien sind Textdateien.

c) Ich habe versucht, die Dateien auf meinem lokalen Rechner zu löschen und den Status zu aktualisieren. Wenn ich dies tue, sehe ich anstelle der beiden Dateien insgesamt vier Dateien mit einem Status "Fehlt". Es werden zwei Einträge für jede Datei aufgeführt - jedes Paar hat den gleichen Dateinamen, Ordnerpfad, "geändert von" und "Dateizeitstempel zur Zeit des Check-ins". Ich habe keine Ahnung, warum jede Datei zweimal aufgeführt ist. Wenn ich jeden Eintrag in einem Paar auswähle und "Inhalte vergleichen" auswähle, sagt mein Diff-Tool, dass sie identisch sind.

Ich habe dieses seltsame Problem mit den vier Dateien unabhängig davon, ob ich den MD5-Prüfsummen-Vergleich oder nicht-MD5-Prüfsummen-Vergleich verwende.

Wenn ich versuche, alle vier fehlenden Dateien auszuchecken, erhalte ich zwei Warnmeldungen, die mich auffordern, die Dateien zusammenzuführen. Ich lehne ab, die Dateien sind jetzt auf meinem lokalen Dateisystem und der Status ist wieder da, wo ich angefangen habe - zwei Dateien werden als "Unbekannt" aufgeführt.


Craigs Update:

Du bist definitiv auf etwas gestoßen. Ich habe jedes der doppelten Elemente in ein anderes Verzeichnis verschoben. Das hat sofort das Problem gelöst, in dem ich jetzt die vier Elemente (zwei im gleichen Verzeichnis und zwei im neuen Verzeichnis) auschecken konnte, ohne dass irgendwelche "Unbekannten" Elemente vorhanden waren. Dann habe ich die beiden Elemente gelöscht, die ich in das neue Verzeichnis verschoben habe.

Beim Durchführen dieser Aktion habe ich mehr Informationen gesehen. Wir haben irgendwie eine Verzeichnisstruktur wie diese:

Parent_Dir
--SubDir1
--SubDir1
--SubDir1
--SubDir1 <- Zwei Elemente waren hier
--SubDir1 <- Zwei Elemente waren hier
--SubDir2
--SubDir3
--SubDir4
--SubDir5

Irgendwie haben wir fünf Unterverzeichnisse mit demselben Namen und diese beiden Dateien waren in zwei der Unterverzeichnisse mit dem gleichen Namen vorhanden.

Das Problem scheint gelöst zu sein. Glaubst du, dass ich die zusätzlichen Unterverzeichnisse manuell löschen sollte?


Dank Craig scheint dieses Problem gelöst zu sein. Ich habe keine Ahnung, wie diese Situation entstanden ist (irgendjemand?), aber.. jetzt sind wir gut. Danke Craig!

6voto

Craig Stuntz Punkte 124703

Es wäre ein großer Fehler, die Dateien zu löschen, bevor Sie feststellen, wo das Problem liegt. Durch Löschen und erneutes Hinzufügen der Datei würden die Historie und alle Verknüpfungen zur Datei gelöscht. Es könnte auch das Problem nicht beheben, aufgrund der Art und Weise, wie StarTeam intern arbeitet (zumindest mit einem Native-II-Repository). Wenn Sie die Datei löschen und die identische Datei erneut hinzufügen, wird tatsächlich nichts im Repository aktualisiert, außer den Zeigern zu dieser Revision. Die Revision selbst wäre dort geblieben, als Sie die Datei gelöscht haben, und das erneute Hinzufügen würde nur einen neuen Zeiger zu dieser Revision erstellen.

Wenn Sie dies noch nicht getan haben, empfehle ich dringend, StarTeam anzuweisen, den Dateistatus mithilfe einer MD5-Prüfsumme zu berechnen. Tun Sie dies im Client über Tools->Persönliche Optionen->Datei->Verwenden von Datei-Prüfsummen, um den Status zu berechnen. Versuchen Sie dann erneut, den Status zu aktualisieren. Dies ist nicht die Standardeinstellung (zumindest in einigen Versionen von StarTeam), daher ist es eine Überprüfung wert. Wenn Sie dies noch nicht getan haben, kann dies das Problem möglicherweise von selbst beheben.

Das erste, was zu tun ist, besteht darin, festzustellen, ob die Revision auf dem Server gültig ist. Wenn die Dateien Textdateien sind, ist der einfachste Weg, dies zu tun, der Vergleich des Inhalts zwischen dieser Revision und der vorherigen Revision. Wenn sich herausstellt, dass die Revision beschädigt ist, wäre die beste Lösung, eine frühere Revision auszuchecken und dann zwangsweise einzuchecken. Auf diese Weise bewahren Sie die Historie der Datei.

Wenn die Datei auf dem Server in Ordnung zu sein scheint, testen Sie sie lokal, indem Sie die Inhalte vergleichen. Wenn die Datei lokal beschädigt ist, können Sie die Datei ruhig lokal löschen und dann erneut auschecken. Im Gegensatz zur Löschung der Datei auf dem Server verlieren Sie dadurch nichts, außer lokalen Revisionen.

Wenn diese Vorschläge das Problem nicht beheben, würde ich immer noch nicht empfehlen, die Dateien auf dem Server zu löschen. Lassen Sie mich die Ergebnisse Ihrer Untersuchungen hier wissen, und wir werden sehen, wo wir von dort aus weitermachen können. Es ist meiner Meinung nach fast immer ein Fehler, die Historie zu löschen.

Update

Basierend auf den aktualisierten Informationen im Beitrag bekomme ich ein besseres Verständnis dafür, was hier vor sich geht. Es ist wahrscheinlich, dass es zwei Elemente gibt, die auf dieselbe Datei verweisen und den gleichen Namen haben. "Element" ist ein Konzept in StarTeam im Zusammenhang damit, dass eine einzelne Datei, Änderungsanforderung, Anforderung usw. an mehreren Stellen gleichzeitig vorhanden sein kann. Zum Beispiel können Sie eine einzelne Datei in zwei verschiedenen Ansichten oder Projekten haben.

Normalerweise haben Sie die Elemente mit dem gleichen Namen nicht im selben Ordner. Aber es kann vorkommen. Und das erklärt höchstwahrscheinlich den "Unbekannt"-Status. Wenn Sie StarTeam auffordern, die Datei auf der Festplatte mit dem Element mit dem gleichen Namen auf dem Server zu vergleichen, kann es vielleicht nicht herausfinden, auf welches Element es schauen soll.

Das erste, was ich versuchen würde, ist, eines der beiden Elemente woandershin zu ziehen. Wenn das das Problem im betreffenden Ordner behebt, können Sie das Element an anderer Stelle löschen, ohne das Element im Ordner zu beeinträchtigen. Wenn das Verschieben eines der Elemente andererseits dazu führt, dass sie beide bewegt werden, ist es einfach, das Element bzw. die Elemente zurückzuziehen, woher sie kommen.

Update 2

Denken Sie, ich sollte die zusätzlichen Unterverzeichnisse manuell löschen?

Ja, aber genau wie bei den Dateien verschieben Sie sie zuerst und stellen Sie sicher, dass die Unterverzeichnisse, die Sie behalten möchten, nicht beeinträchtigt sind, bevor Sie sie löschen.

2voto

Ein guter Weg, um dieses Problem zu identifizieren, wenn es wieder auftritt, ist auf den Stammordner zu klicken, den Ordnerpfad zu den angezeigten Spalten hinzuzufügen und dann auf die Schaltfläche "Alle Nachkommen" zu klicken. Sortieren Sie die Dateien nach Namen und suchen Sie nach den unbekannten Dateien, um zu sehen, ob mehrere Dateien mit demselben Namen zum selben Pfad ausgecheckt sind. Normalerweise ist dies das Ergebnis eines falschen Freigabe-, Zusatz- oder Änderung des Checkout-Pfads des Ordners.

Da nicht bestimmt ist, in welcher Reihenfolge StarTeam Dateien auscheckt, ist es ein Fehler, zwei verschiedene Dateien mit demselben Namen auf denselben lokalen Speicherort zu verweisen. Der 2005R2 nativen Windows-Client und der Cross-Plattform-Client würden Dateien in einer etwas anderen Reihenfolge abrufen, was dazu führen würde, dass Ansichten mit diesem Problem Auscheckvorgänge mit verschiedenen Dateien erzeugen.

Es gibt einige legitime Möglichkeiten, in diese Situation zu geraten - das Halten mehrerer Zweige einer einzelnen Datei auf dem Haupt- und die Zuweisung der zu verwendenden durch Ansichtsetikett ist eine häufige. StarTeam ist eines der wenigen Versionskontrollsysteme, die mehrere Referenzen wie diese verarbeiten können.

Zusätzlich, wenn es möglich ist, löschen und wieder hinzufügen Sie eine Datei niemals. 99% der Zeit ist es nicht das, was Sie tun wollen. Wenn Sie eine Datei erneut zum Server hinzufügen, erhält sie ein ganz neues Archiv in der Datenbank und es wird in keiner Weise mit bestehenden Freigaben dieser Datei verknüpft sein. Sie werden auch Ihre Versionshistorie verlieren. Suchen Sie stattdessen nach Möglichkeiten, Dateien zu verschieben. Und wenn Sie mehrere Dateien mit demselben Namen und Inhalt auf Ihrem Server haben, ist es in der Regel eine gute Idee, sich die Mühe zu machen, die Datei an den verschiedenen Stellen freizugeben, an denen sie existieren sollte, anstatt sie erneut hinzuzufügen. Dies stellt sicher, dass Ihre Änderungen verbreitet werden, damit Sie Fixes nicht mehrfach einchecken müssen.

1voto

Tai Squared Punkte 12153

Wurden diese Dateien zweimal hinzugefügt? Sie können dieselbe Datei mehrmals hinzufügen, was zu diesem Fehler führen könnte. Überprüfen Sie auch den Registerkarte "Referenz" - handelt es sich bei diesen Dateien um verlinkte Dateien an anderer Stelle im Repository?

0voto

Tom Punkte 948

Könnten es die Dateien oder ihr Status sein, die auf dem Server beschädigt wurden? In dem Fall ist Löschen und erneutes Hinzufügen der einzige Weg.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X