Wiki
Ein bestehendes Projekt hochladen
Ein bereits auf Ihrer Festplatte vorhandenes Unreal-Projekt unter uVersion stellen: den Ordner an Ort und Stelle initialisieren, die Ausschlüsse prüfen, dann ein Checkin aus dem Pending-Tab. Mit den Fallstricken des ersten Uploads.
Sie haben ein Unreal-Projekt auf Ihrer Festplatte und möchten es unter uVersion stellen. Diese Seite behandelt genau diesen Fall: Ihre Dateien bewegen sich nicht, der Ordner wird an Ort und Stelle mit dem Server verbunden und dann hochgeladen.
Wenn Sie hingegen von einem leeren, bereits auf dem Server erstellten Repository ausgehen, brauchen Sie einen Klon, nicht diese Seite.
Bevor Sie beginnen
Prüfen Sie außerdem, dass der Ordner, den Sie deklarieren werden, wirklich die
gewünschte Wurzel des Repositorys ist. Die Datei .uproject muss sich
höchstens drei Ebenen unter dieser Wurzel befinden, sonst erkennt der Client das Projekt nicht
als Unreal-Projekt und das Unreal-Panel bleibt unsichtbar.
Den Ordner initialisieren
1. Das Fenster Open Repository öffnen
Öffnen Sie in der Seitenleiste Workspace und klicken Sie dann Open Repository (oder das „+“ der Tab-Leiste). Das sich öffnende Fenster dient zunächst dem Klonen eines bestehenden Repositorys: Das ist hier nicht, was Sie wollen. Scrollen Sie ganz nach unten, unter die Liste der Repositorys und unter Open Local Repository..., und klicken Sie New Repository from a Project Folder...
admin, weil sie ein Repository auf dem
Server erstellt. Siehe Ein Repository erstellen.
2. Die Projektwurzel wählen
Ein Ordnerauswahldialog öffnet sich mit dem Titel
Select your project folder to create a new repository. Wählen Sie die
Wurzel Ihres Projekts, jene, die die .uproject enthält, oder den Ordner,
der sie enthält. Nichts wird kopiert oder verschoben: Dieser Ordner bleibt, wo er ist.
3. Das Repository benennen und erstellen
Das Formular erscheint im Fenster selbst, an der Stelle der Schaltfläche, die Sie gerade angeklickt haben, nicht in einem neuen Dialogfeld. Es zeigt den gewählten Pfad noch einmal und bietet ein Feld Repository name, das mit dem Ordnernamen vorausgefüllt ist. Passen Sie es bei Bedarf an und klicken Sie dann Create & Open. Die Schaltfläche bleibt inaktiv, solange der Name leer ist, und dieser Name muss auf dem gesamten Server eindeutig sein.
Der Client tut dann vier Dinge und nichts anderes:
- er erstellt das Repository auf dem Server;
-
er schreibt einen Ordner
.uversion/in Ihr Projekt, der sich das Repository, die Adresse des Servers und das Eigentümerkonto des Workspace merkt; -
er schreibt eine Datei
.uversionignore, nur wenn noch keine existiert; - er lädt nichts herunter und rührt keine Ihrer Dateien an.
Die Ausschlüsse prüfen
Das ist der richtige Moment, und es ist jetzt viel einfacher als danach. Öffnen Sie die
Datei .uversionignore in der Wurzel: Sie listet auf, was niemals
hochgeladen wird. Die standardmäßig angelegte Vorlage schließt bereits aus, was ein Unreal-Projekt
von selbst neu erzeugt, insbesondere Binaries/, Build/,
DerivedDataCache/, Intermediate/,
Saved/ und Packages/ sowie die Projektdateien
der Entwicklungsumgebungen.
Zwei Regeln sind nicht änderbar, und man sollte sie kennen:
-
Plugins/uVersionist immer ausgeschlossen. Das Unreal-Plugin wird nie versioniert: Jeder Arbeitsplatz installiert die Version, die zu SEINER Engine passt, über den Desktop-Client. Dass es im Repository fehlt, ist normal. -
Ein Pfad, der einen exakt
ThirdPartybenannten Ordner enthält, wird niemals ausgeschlossen, welche Regel Sie auch schreiben. Ihre Drittanbieter-Bibliotheken gehen also immer mit hoch.
Da Packages/ ausgeschlossen ist, gelangt ein gepackter Build niemals ins
Repository: Er wird über die Funktion zur Build-Veröffentlichung verteilt, nicht über die
Versionierung.
Hochladen
4. Den Zustand im Files-Tab feststellen
Ihr ganzes Projekt erscheint dort mit dem Status untracked: bei Ihnen vorhanden, noch nicht auf dem Server. Das ist der normale Zustand eines gerade initialisierten Ordners. Das Zähler-Badge über dem Baum fasst dasselbe zusammen (N local only), die Spalte Rev zeigt überall v0, und der Tab Pending trägt bereits ein Badge mit derselben Zahl: Der Client hat Ihre Dateien von selbst erkannt, es gibt nichts von Hand „hinzuzufügen“.
5. Den Pending-Tab öffnen
Alle Ihre Dateien sind bereits dort, mit add markiert, in der
Changelist Default eingeordnet. Die linke Spalte zeigt die Baumstruktur
dessen, was hochgeht, das rechte Panel die flache Liste mit einem
Diff und einem Remove pro Zeile. Entfernen Sie hier nur,
was Sie niemals versionieren wollen: Die richtige Antwort auf „dieser Ordner hat hier
nichts zu suchen“ ist eine Regel in .uversionignore, kein Remove Zeile
für Zeile.
6. Beschreiben, dann Checkin all
Schreiben Sie eine Nachricht in Describe your changes...: Sie ist verpflichtend, die Schaltfläche Checkin all bleibt inaktiv, solange der Bereich leer ist. „Erster Upload des Projekts“ genügt völlig. Klicken Sie dann Checkin all (N).
Der Upload läuft anschließend von selbst ab, in mehreren Phasen, die in der Kopfleiste angezeigt werden: Zerlegen, Prüfen dessen, was der Server bereits besitzt, Übertragung, dann Validierung. Sie können in der Zwischenzeit den Tab wechseln, der Fortschritt folgt. Eine unterbrochene Übertragung setzt dort fort, wo sie war, statt alles neu zu beginnen. Am Ende werden die hochgeladenen Dateien schreibgeschützt: Das ist das Zeichen, dass sie auf dem Server sind und dass man sie reservieren muss, um sie zu ändern.
Fallstricke des ersten Uploads
Ich suche die Upload-Schaltfläche in Files
Sie ist nicht dort. Der Files-Tab zeigt den Zustand und dient punktuellen Aktionen; der Upload erfolgt aus dem Tab Pending, wo jede nicht verfolgte oder geänderte Datei von selbst erscheint. Wenn Pending ein Badge zeigt, gibt es etwas hochzuladen.
„Failed to acquire locks for N file(s)“
Eine oder mehrere Dateien sind bereits von jemand anderem reserviert, und der gesamte Upload wird abgebrochen, nicht nur die betroffenen Dateien. Sehen Sie im Tab der ausstehenden Reservierungen nach, wer sie hält, und bitten Sie ihn, sie freizugeben.
Eine von mir ausgewählte Datei ging als Löschung hoch
Ein Pfad, der hochgeladen wird, aber zum Zeitpunkt der Übertragung nicht auf der Festplatte ist, wird als Löschung interpretiert. Das passiert, wenn Sie Dateien zwischen der Auswahl und dem Upload verschieben oder umbenennen. Arbeiten Sie während des Vorgangs nicht im Ordner.
„This folder is already a uVersion repository“
Der Ordner enthält bereits ein .uversion/. Verwenden Sie
Open Local Repository..., statt es neu zu erstellen.
Der Ordner wird abgelehnt
Der Client lehnt bewusst bestimmte Orte ab: die Wurzel einer Festplatte, einen Systemordner, einen Autostart-Ordner oder einen relativen Pfad. Wählen Sie einen gewöhnlichen Arbeitsordner.