Как поделиться файлами в депо - PullRequest
1 голос
/ 21 октября 2009

Мы используем Perforce. В депо есть несколько проектов, которые имеют свои собственные подпапки main / branch / updates. Есть также некоторые файлы ресурсов (png, mp3 и т. Д.), Которые необходимы (совместно используются) для некоторых различных проектов. У них нет основной / ответвлений / структуры. В настоящее время они хранятся в отдельной папке в хранилище, которая не зависит от проектов.

Теперь я не уверен, как поделиться файлами ресурсов для проектов. Я немного смущен. По крайней мере, я могу сказать, что символические ссылки были бы неправильными, поскольку, если файл ресурса обновляется, проекты не должны получать более новую версию автоматически. Это должно потребовать явного шага, поскольку может потребоваться адаптация проекта к более новой версии.

Что я мог бы представить, так это интегрировать файлы ресурсов в выделенные места, возможно, с использованием подготовленных представлений ветвей. Это было бы хорошо? Но тогда я могу только представить, чтобы интегрироваться в основную линию. Что тогда, когда я хотел бы отредактировать или добавить файл ресурса в ветке? Ветвь, которая будет обратно интегрирована в основную? Могу ли я добавить туда изображение и интегрировать его в папку с файлами ресурсов, а затем в другие проекты? И если я отредактирую файл ресурса в ветке, должны ли эти изменения быть интегрированы в папку файла ресурса? Звучит грязно. AFIAK нельзя интегрировать случайно. Разве это не правда? Нужны ли для этого какие-то особые правила? Или это вообще не очень хорошая идея?

Поможет ли вам иметь основные / ветки / релизы папки для файлов ресурсов? Может быть, конкретный проект? Как это будет выглядеть?

Спасибо за любую помощь! Я мог бы также представить себе не использовать интеграцию, а разрабатывать представления рабочего пространства, которые отображают как файлы ресурсов, так и файлы проекта в единую локальную среду. Но я думаю, это наверняка вызовет некоторые другие проблемы.

1 Ответ

2 голосов
/ 21 октября 2009

К сожалению, Perforce не позволит вам указать конкретную версию файла в спецификации представления клиента.

Поскольку вы хотите, чтобы проекты, использующие ресурс, использовали только определенную версию, вам необходимо:

  • создает ветки для ресурсов, которые различные проекты могут включать в спецификацию файла клиента, чтобы они могли извлечь нужную версию из ветки, имеющей нужную версию
  • просто пусть каждый проект поместит нужную версию в свою собственную часть депо, и проект будет периодически обновлять свою собственную отдельную версию ресурса, когда ему потребуется обновление

Ни один из этих вариантов не кажется мне хорошим, но вариант 2 кажется более простым, если мы говорим только о нескольких файлах. В обоих случаях проекты должны будут вручную обновлять вещи, когда они хотят перейти на более новую версию ресурса - просто вариант № 1 потребует больше работы для настройки и поддержки ветвей для вещей. Если у вас нет нескольких файлов, которые нужно извлечь из хранилища / филиала 'file file', я не вижу, чтобы он что-то покупал по сравнению с опцией # 2.

Но, возможно, у кого-то еще будет лучший, третий вариант.

...