Управление версиями как исходного, так и выходного файла - PullRequest
1 голос
/ 04 ноября 2011

Я попробую объяснить со сценарием: веб-сайт.Предположим, что вам нужен определенный графический элемент, поэтому вы решили создать PSD-файл для него и поставить его под контроль версий.Но для поддержания согласованности между коммитами вы также должны отправить сгенерированный файл PNG.

Это правильный подход к проблеме?

Бонус: Можете ли вы предоставить хорошийонлайн-справка, в которой говорится о подобных практиках?

Я добавляю тег Git, потому что меня интересует именно это программное обеспечение, но я думаю, что это общая проблема.

Ответы [ 2 ]

2 голосов
/ 04 ноября 2011

Да, иногда есть веские причины держать как генерирующий файл, так и созданный файл под контролем версий. Но, возможно, ваш сценарий не является одним из них, если вы предполагаете, что все разработчики, работающие над проектом, имеют доступ к генератору (очевидно, некоторое программное обеспечение Adobe используется для преобразования файлов *.psd в файлы *.png, поэтому это предполагает, что все разработчики имеют доступ к этому программному обеспечению Adobe и могут запускать его из процедуры сборки). Вы также можете сохранить файлы изображений, например, как файлы SVG (отредактировано inkscape).

Хорошие причины для сохранения как генерируемых, так и генерируемых вариантов включают загрузочные системы. Когда вы разрабатываете язык сам по себе, переведенный собственным переводчиком, вам нужно держать оба варианта под контролем версий. Мне известны как минимум два примера: Ocaml, чей байт-код и нативные компиляторы написаны на Ocaml, поэтому (сгенерированная) форма байт-кода компилятора хранится в SVN, и мой GCC MELT , домен высокого уровня конкретный язык для GCC. Транслятор MELT (из MELT DSL в C) кодируется в MELT, поэтому я сохраняю переведенную форму (как сгенерированный код C) под контролем версий вместе с формой исходного кода MELT.

0 голосов
/ 04 ноября 2011

Я бы сказал, что если вы можете собрать весь сайт из исходного кода в одном скрипте, то вам не следует создавать сгенерированные файлы с контролем исходного кода.Это предпочтительнее (но иногда это нелегко сделать), потому что таким образом история сводится к голым элементам, источнику.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...