Apakah Anda menyimpan file perantara di bawah kontrol versi?

8

Ini contoh dengan proyek Flash, tapi saya yakin banyak proyek seperti ini.

Misalkan saya membuat gambar dengan Photoshop. Saya kemudian mengekspor gambar ini sebagai jpeg untuk integrasi di Flash. Saya mengkompilasi fla sebagai pustaka aset, yang kemudian digunakan dalam proyek Flash Builder saya untuk menghasilkan SWF akhir.

Jadi begini:

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

=> : produce
-> : is used in

Proyek PSD, FLA, dan Flash Builder adalah file sumber: mereka bukan hasil dari beberapa proses.

Jpg dan swc adalah apa yang saya sebut file "perantara". Mereka adalah produk dari satu (atau lebih) file sumber yang digunakan sebagai input dalam alat atau proses lain.

SWF adalah hasil akhir.

Jadi, apakah Anda akan menyimpan file-file perantara di bawah kontrol versi? Bagaimana Anda menghadapinya?

subb
sumber

Jawaban:

10

JPG - tetap di bawah kontrol versi, kecuali jika Anda memiliki proses otomatis untuk ekspor JPG dari PSD, tidak semua ekspor dibuat sama, mereka dilakukan dengan tangan dan mata terlatih digunakan untuk mengoptimalkan tradeoff antara kompresi dan degradasi visual.

SWF - tidak perlu tetap di bawah kontrol versi karena file build yang sama menghasilkan hasil yang sama setiap waktu. Tetapi, simpan untuk kenyamanan jika Anda memiliki anggota tim (manajer proyek, penguji) yang tidak memiliki perangkat lunak untuk membangun proyek tetapi memiliki akses ke VC dan ingin melihat hasilnya.

SWC - mirip dengan SWF, tidak perlu disimpan, kecuali karena alasan tertentu pengembang yang menggunakannya untuk membangun SWF tidak juga membangun SWC sendiri. (Prinsip yang sama seperti JAR di Jawa, yang tidak Anda buat sendiri, sering diperiksa ke VC, jika tidak menggunakan alat bangun berbasis repositori seperti Maven yang menariknya secara otomatis.)

Nicole
sumber
Poin bagus tentang kompresi JPG.
subb
Saya pikir dia berniat mempertahankan SWF dalam hal apa pun, karena ini adalah target akhir. Ini SWC perantara yang dia tanyakan.
Orbling
@Orbling - terima kasih. Kesalahan saya karena tidak membaca dengan benar.
Nicole
Dalam pengembangan web, semua file yang aktif, yang saya maksud adalah yang membuat konten aktif situs web (tidak termasuk konten yang dibuat secara otomatis) cenderung disimpan dalam kontrol versi. Sehingga selalu ada salinan langsung dari seluruh situs yang disimpan. Jadi aturan build yang biasa tentang tidak menyimpan target build (sebagai lawan perantara) cenderung tidak diterapkan. Khususnya untuk barang-barang berpemilik seperti file SWF.
Orbling
Saya dapat menerbitkan situs web untuk klien, tetapi biasanya tidak memiliki lisensi untuk perangkat lunak untuk membuat file SWF pada perangkat tempat saya menerbitkan situs web. Dalam kasus tersebut, saya memerlukan seniman konten flash untuk melakukan hasil akhir ke kontrol revisi.
shannon
1

Saya biasanya menyimpan file perantara saya di folder yang disebut "mentah" di bawah folder gambar saya dan memeriksanya di kontrol sumber. Saya semacam memperlakukan mereka seperti "kode sumber" gambar. Dengan begitu jika saya harus kembali dan mengedit beberapa gambar, saya tidak perlu menemukan sumber daya lagi, atau berurusan dengan gambar skala yang tidak akan menangani lagi tweaker.

Dalam kasus Anda, menjaga file PSD kemungkinan besar sudah cukup, karena ekspor ke JPG / FLA / SWC adalah konversi tipe sederhana dan dapat direproduksi dengan cepat.

Memiliki penunjukan "mentah" memudahkan untuk melacak dalam kontrol sumber dan mengecualikan dari skrip penerapan.

Dillie-O
sumber
Apakah konversi PSD ke JPG / PNG Anda otomatis, atau apakah setiap pengembang perlu membuat sendiri file JPG / PNG secara manual? Jika Anda bekerja sendiri tidak apa-apa, tanyakan saja.
Jeremy Heiler
Ini proses manual. Sebagian besar waktu itu hanya saya untuk proyek yang diberikan, tetapi Photoshop adalah salah satu aplikasi "standar" di toko kami, jadi jika orang lain harus mengubah gambar, mereka akan memiliki Photoshop pada sistem mereka juga.
Dillie-O
1

Secara umum, file yang dibangun harus di luar kendali versi. File obj biasanya dijauhkan dari kontrol versi, dan mereka adalah file antara yang diproduksi ketika membangun executable.

Jika jpg dan swc Anda dihasilkan secara otomatis sebagai bagian dari build, jauhkan dari kontrol sumber, dan buatlah itu secara otomatis setelah Anda membuat check out baru, dan anggap itu seperti file objek.

Hal-hal yang dimodifikasi / diperbarui dengan tangan harus diversi. Hal-hal yang dimodifikasi / diperbarui oleh mesin seharusnya tidak. (Umumnya)

Apa namanya
sumber
Saya setuju. Itu adalah skenario ideal. Namun, dalam beberapa kasus, tidak mungkin menghasilkan file output secara otomatis, karena mereka memerlukan intervensi manusia (mis. Kompresi jpeg) atau sumbernya ada dalam format berpemilik atau yang lain.
subb
0

Bukan saya. Selama sesuatu dilakukan secara otomatis, itu harus dilakukan secara otomatis dan tidak ada gunanya membuang ruang di vc - itu hanya akan membuat penggabungan menjadi lebih sulit.

Di sisi lain mungkin ada file yang dihasilkan dan tweak tidak otomatis (seperti contoh JPG). Kemudian saya akan menyimpan kedua sumber dan file yang dihasilkan KECUALI Saya punya opsi untuk menjaga file sumber dan parameter tweak (tingkat kompresi dll).

Maciej Piechotka
sumber
Parameter men-tweak sebagai file sumber. Menarik.
subb