Behalten Sie Zwischendateien unter Versionskontrolle?

8

Hier ist ein Beispiel mit einem Flash-Projekt, aber ich bin sicher, dass viele Projekte so sind.

Angenommen, ich erstelle ein Bild mit Photoshop. Ich exportiere dieses Bild dann als JPEG zur Integration in Flash. Ich kompiliere das Fla als Asset-Bibliothek, die dann in meinem Flash Builder-Projekt verwendet wird, um das endgültige SWF zu erstellen.

So geht es wie:

psd => jpg -> fla => swc -> Flash Builder project => swf.

=> : produce
-> : is used in

Psd, fla und Flash Builder Project sind Quelldateien: Sie sind nicht das Ergebnis eines Prozesses.

Das JPG und SWC sind das, was ich als "Zwischendateien" bezeichnen würde. Sie sind das Produkt einer (oder mehrerer) Quelldatei (en), die als Eingabe in ein anderes Tool oder einen anderen Prozess verwendet werden.

Der swf ist das Endergebnis.

Würden Sie diese Zwischendateien unter Versionskontrolle halten? Wie gehst du mit ihnen um?

subb
quelle

Antworten:

10

JPG - Behalten Sie die Versionskontrolle bei, es sei denn, Sie haben einen automatisierten Prozess für den JPG-Export aus PSD. Nicht alle Exporte werden gleich erstellt. Sie werden von Hand ausgeführt und ein geschultes Auge wird verwendet, um den Kompromiss zwischen Komprimierung und visueller Verschlechterung zu optimieren.

SWF - Sie müssen nicht unter Versionskontrolle bleiben, da dieselbe Build-Datei jedes Mal dasselbe Ergebnis liefert. Bewahren Sie es jedoch bequem auf, wenn Sie Teammitglieder (Projektmanager, Tester) haben, die nicht über die Software zum Erstellen des Projekts verfügen, aber Zugriff auf VC haben und das Ergebnis sehen möchten.

SWC - Ähnlich wie bei der SWF muss diese nicht beibehalten werden, es sei denn, die Entwickler, die sie zum Erstellen von SWFs verwenden, erstellen die SWC aus irgendeinem Grund nicht auch selbst. (Das gleiche Prinzip wie bei JARs in Java, die Sie nicht selbst erstellen, wird häufig in VC eingecheckt, wenn Sie kein Repository-basiertes Build-Tool wie Maven verwenden, das sie automatisch abruft.)

Nicole
quelle
Guter Punkt zur JPG-Komprimierung.
Subb
Ich denke, er beabsichtigt auf jeden Fall, die SWF zu behalten, da dies das endgültige Ziel ist. Es ist die Zwischen-SWC, nach der er fragt.
Orbling
@Orbling - danke. Mein Fehler, weil ich nicht richtig gelesen habe.
Nicole
In der Webentwicklung werden alle aktiven Dateien, womit ich den aktiven Inhalt der Website meine (ohne automatisch generierten Inhalt), tendenziell in der Versionskontrolle gehalten. Damit wird immer eine Live-Kopie der gesamten Site gespeichert. Daher werden die üblichen Build-Regeln zum Nicht-Speichern von Build- Zielen (im Gegensatz zu Intermediären) in der Regel nicht angewendet. Besonders für proprietäre Sachen wie SWF-Dateien.
Orbling
Ich kann Websites für Kunden veröffentlichen, habe jedoch normalerweise keine Lizenz für die Software zum Erstellen von SWF-Dateien auf den Geräten, auf denen ich Websites veröffentliche. In diesen Fällen müssen die Flash-Content-Künstler die endgültige Ausgabe der Revisionskontrolle übergeben.
Shannon
1

Normalerweise bewahre ich meine Zwischendateien in einem Ordner namens "raw" unter meinem Bilderordner auf und checke sie in die Quellcodeverwaltung ein. Ich behandle sie irgendwie wie meinen "Quellcode" von Bildern. Auf diese Weise muss ich, wenn ich zurückgehen und einige der Bilder bearbeiten muss, die Ressourcen nicht erneut finden oder mich mit einem skalierten Bild befassen, das nicht mehr optimiert werden kann.

In Ihrem Fall wäre es höchstwahrscheinlich ausreichend, die PSD-Datei zu behalten, da die Exporte nach JPG / FLA / SWC einfache Typkonvertierungen sind und schnell reproduziert werden können.

Die Bezeichnung "raw" erleichtert das Verfolgen der Quellcodeverwaltung und das Ausschließen von Bereitstellungsskripten.

Dillie-O
quelle
Ist die Konvertierung von PSD in JPG / PNG automatisiert oder muss jeder Entwickler die JPG / PNG-Dateien manuell selbst generieren? Wenn Sie alleine arbeiten, ist das in Ordnung, fragen Sie einfach.
Jeremy Heiler
Es ist ein manueller Prozess. Meistens bin ich es nur für ein bestimmtes Projekt, aber Photoshop ist eine dieser "Standard" -Apps in unserem Shop. Wenn also jemand anderes das Bild optimieren müsste, hätte er auch Photoshop auf seinem System.
Dillie-O
1

Im Allgemeinen sollten erstellte Dateien außerhalb der Versionskontrolle bleiben. Obj-Dateien werden normalerweise außerhalb der Versionskontrolle gehalten und sind Zwischendateien, die beim Erstellen ausführbarer Dateien erstellt werden.

Wenn Ihre JPGs und SWCs automatisch als Teil eines Builds generiert werden, halten Sie sie von der Quellcodeverwaltung fern und lassen Sie sie automatisch generieren, sobald Sie einen neuen Check-out erstellen, und betrachten Sie sie als Objektdateien.

Dinge, die von Hand geändert / aktualisiert werden, sollten versioniert werden. Dinge, die von der Maschine geändert / aktualisiert wurden, sollten dies nicht tun. (Allgemein)

Whatsisname
quelle
Genau. Das ist das ideale Szenario. In einigen Fällen ist es jedoch nicht möglich, Ausgabedateien automatisch zu generieren, da sie menschliches Eingreifen erfordern (z. B. JPEG-Komprimierung) oder die Quellen in einem proprietären Format vorliegen oder sonst.
Subb
0

Ich nicht. Solange etwas automatisch erledigt wird, sollte es automatisch erledigt werden und es macht keinen Sinn, Speicherplatz in vc zu verschwenden - es wird nur das Zusammenführen erschweren.

Andererseits kann es Dateien geben, die generiert und nicht automatisch optimiert werden (als JPG-Beispiel). Dann würde ich sowohl die Quelldatei als auch die generierte Datei behalten, es sei denn, ich hätte die Option, die Quelldatei und die Parameter zu optimieren (Komprimierungsstufe usw.).

Maciej Piechotka
quelle
Parameter werden als Quelldatei angepasst. Interessant.
Subb