Должны ли данные изображения идти в VCS? - PullRequest
2 голосов
/ 25 марта 2009

Мы ведем оживленную дискуссию об этом на моем рабочем месте. Мы говорим о загруженных пользователем изображениях для множества продуктов, а не об изображениях, необходимых для отображения основного сайта. Я говорю «ни за что», но мне любопытно, что думают другие.

Обновление: Просто чтобы уточнить. Это предоставленные заказчиком изображения для продуктов, которые они вводят / изменяют.

Ответы [ 6 ]

2 голосов
/ 25 марта 2009

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

Недавно я добавил новый проект в новый SVN-репозиторий, и каждый раз, когда я просматриваю папку «uploads», я понимаю, как глупо было включать это в первоначальный коммит.

2 голосов
/ 25 марта 2009

Я согласен с «никоим образом».

Все, что может измениться на сайте в результате повседневного использования или может быть отредактировано тем, кто администрирует сайт, который я считаю «контентом» Это включает в себя загруженные файлы и содержимое базы данных, которые резервируются отдельно. Ничто на веб-сайте, который находится под контролем версий, не будет изменено после его развертывания. Так проще.

2 голосов
/ 25 марта 2009

Другие способы узнать, должно ли что-то быть в управлении версиями:

  • Меняются ли изображения?
  • Связаны ли изменения с чем-либо еще?
  • Могут ли быть ошибки?
  • Требуется ли отслеживание / необходимо?

Если остальная часть сайта управляется версией, контроль версий изображений.

Если изображения сгенерированы, управление версиями генератора.

1 голос
/ 25 марта 2009

Похоже, что вы говорите о содержимом, которое находится (или, возможно, будет) в базе данных. Если клиент предоставляет вам список продуктов, а также фотографии этих продуктов, то все это должно быть из базы данных. В этом случае я бы не стал, потому что ваша база данных должна быть заархивирована, но не в VCS.

Если это не так, а ваш веб-сайт статичен, то я бы сделал это только потому, что это «часть сайта».

0 голосов
/ 25 марта 2009

Если вы не собираетесь раскрывать версии для клиентов, то какой в ​​этом смысл?

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

0 голосов
/ 25 марта 2009

Если вы чувствуете, что должны пересмотреть его, как-то уберите эти ресурсы из пути основного хранилища, а затем выделите ему выделенное хранилище только для этого содержимого.

Вы не хотите, чтобы каждый, кто должен проверять код, получал копию каждого изображения, когда они извлекали или обновляли его, медленный и бессмысленный, и наличие их в вашем основном дереве будет иметь больше головной боли, чем вы можете себе представить.

/common_ancestor
   /project_code/      # repository a
   /resources_dir/     # repository b

Если вам нужно использовать символические ссылки или магию веб-сервера, чтобы сделать это, то сделайте это, но что бы вы ни делали, НЕ помещайте контент в своем основном хранилище.

Что касается резервного копирования и пересмотра, то пересмотр его таким образом дает вам небольшую легкость, если вы также используете SVN в качестве метода распространения, таким образом, если разработчику нужны копия изображений для целей тестирования, относительно легко получить относительно современный набор из них.

...