Você mantém arquivos intermediários sob controle de versão?

8

Aqui está um exemplo com um projeto Flash, mas tenho certeza que muitos projetos são assim.

Suponha que eu crie uma imagem com o Photoshop. Em seguida, exporto esta imagem como um JPEG para integração no Flash. Compilei o fla como uma biblioteca de ativos, que é usada no meu projeto Flash Builder para produzir o swf final.

Então é assim:

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

=> : produce
-> : is used in

O psd, fla e o Flash Builder Project são arquivos de origem: eles não são o resultado de algum processo.

O jpg e o swc são o que eu chamaria de arquivos "intermediários". Eles são o produto de um (ou mais) arquivo (s) de origem que são usados ​​como entrada em outra ferramenta ou processo.

O swf é o resultado final.

Então, você manteria esses arquivos intermediários sob controle de versão? Como você lida com eles?

subb
fonte

Respostas:

10

JPG - mantenha o controle da versão, a menos que você tenha um processo automatizado para a exportação JPG do PSD, nem todas as exportações são criadas da mesma forma, são feitas manualmente e um olho treinado é usado para otimizar a troca entre compactação e degradação visual.

SWF - não é necessário manter o controle de versão, pois o mesmo arquivo de compilação produz o mesmo resultado sempre. Mas guarde-o por conveniência se você tiver membros da equipe (gerentes de projeto, testadores) que não possuem o software para construir o projeto, mas têm acesso ao VC e desejam ver o resultado.

SWC - semelhante ao SWF, não é necessário mantê-lo, a menos que, por algum motivo, os desenvolvedores que o utilizam para criar SWFs também não construam o SWC. (O mesmo princípio dos JARs em Java, aqueles que você não constrói, geralmente é verificado no VC, se não estiver usando uma ferramenta de construção baseada em repositório como o Maven, que os puxa automaticamente.)

Nicole
fonte
Bom ponto sobre a compactação JPG.
Subb
Eu acho que ele pretende manter o SWF em qualquer caso, pois é o objetivo final. É o SWC intermediário que ele está perguntando.
Orbling
@ Orbling - obrigado. Minha culpa por não ter lido corretamente.
26611 Nicole
No desenvolvimento da Web, todos os arquivos ativos, com o que quero dizer o que compõe o conteúdo ativo do site (sem incluir o conteúdo gerado automaticamente), tendem a ser mantidos no controle de versão. Para que haja sempre uma cópia ao vivo de todo o site armazenado. Portanto, as regras de compilação comuns sobre não armazenar destinos de compilação (em oposição aos intermediários) tendem a não ser aplicadas. Especialmente para itens proprietários, como arquivos SWF.
Orbling
Posso publicar sites para clientes, mas normalmente não tenho uma licença para o software criar arquivos SWF nos dispositivos dos quais publico sites. Nesses casos, preciso que os artistas de conteúdo em flash comprometam a saída final ao controle de revisão.
Shannon
1

Normalmente, mantenho meus arquivos intermediários em uma pasta chamada "raw" na minha pasta de imagens e faço o check-in no controle de origem. Eu meio que os trato como meu "código fonte" de imagens. Dessa forma, se eu tiver que voltar e editar algumas das imagens, não preciso encontrar os recursos novamente ou lidar com uma imagem em escala que não aguenta mais ajustes.

No seu caso, manter o arquivo PSD provavelmente seria suficiente, pois as exportações para JPG / FLA / SWC são simples conversões de tipo e podem ser reproduzidas rapidamente.

A designação "bruta" facilita o rastreamento no controle de origem e a exclusão de qualquer script de implantação.

Dillie-O
fonte
A sua conversão de PSD para JPG / PNG é automatizada ou todo desenvolvedor precisa gerar manualmente os arquivos JPG / PNG? Se você está trabalhando sozinho, tudo bem, basta perguntar.
Jeremy Heiler
É um processo manual. Na maioria das vezes, sou apenas eu para um determinado projeto, mas o Photoshop é um desses aplicativos "padrão" em nossa loja; portanto, se alguém tiver que ajustar a imagem, também terá o Photoshop em seu sistema.
Dillie-O
1

Geralmente, os arquivos criados devem ficar fora do controle de versão. Os arquivos Obj geralmente são mantidos fora do controle de versão e são arquivos intermediários produzidos ao criar executáveis.

Se seus jpgs e swcs forem gerados automaticamente como parte de uma compilação, mantenha-os fora do controle de origem e faça com que sejam gerados automaticamente depois de criar uma nova verificação e pense neles como arquivos de objeto.

Itens modificados / atualizados manualmente devem ter versão. Coisas modificadas / atualizadas pela máquina não devem. (Geralmente)

whatsisname
fonte
Concordo. Esse é o cenário ideal. No entanto, em alguns casos, não é possível gerar arquivos de saída automaticamente, porque eles requerem intervenção humana (por exemplo, compactação jpeg) ou as fontes estão em um formato proprietário ou então.
Subb
0

Eu não. Desde que algo seja feito automaticamente, deve ser feito automaticamente e não faz sentido desperdiçar espaço em vc - isso só tornará as mesclas mais difíceis.

Por outro lado, pode haver arquivos gerados e não ajustados automaticamente (como exemplo JPG). Então, eu manteria o arquivo de origem e o arquivo gerado, A menos que tivesse uma opção para manter o arquivo de origem e os parâmetros ajustados (nível de compactação etc.).

Maciej Piechotka
fonte
Os parâmetros são ajustados como arquivo de origem. Interessante.
Subb