|
SVN: Как хранить файлы, которые одновременно являются и результатом и исходниками, Не знаю как сделать |
|
|
|
Jul 12 2013, 07:39
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Извиняюсь, но SVN для меня новая, поэтому прошу прощения, если это где-то уже написано или обсуждалось.
В общем сейчас перемещаем свои проэкты в репозиторий и возник вопрос, как хранить файлы, которые одновременно являются и результатом одних проектов и исходниками в других? Т.е. например у нас есть проект для ПЛИС. В MATLAB/Симулинк есть модель из которой генерится HDL код. Этот HDL код используется как исходник в EDK проекте и вместе с другими исходниками из него делается bitstream. В EDK проекте помимо модели также присутствует софтпроцессор для которого нужно будет сгенерировать код. Для этого из EDK/SDK генерируются .c и .h файлы, которые являются драйверами и используются в Linux проекте для написания приложения, которое в дальнейшем компилируется и запускается на софтпроцессоре. Надеюсь более или менее понятно объяснил. Конечно понимаю, что SVN рекомендует хранить только исходники и никаких генерационных файлов, но тогда возникает следующие проблемы: 1. Если создать рабочую копию, то все этапы генерации и компиляции нужно проходить заново - при нашем проекте - это генерация HDL кода, синтез и разводка ПЛИС, компиляция LINUX ядра и приложения - вся сборка занимает около 8 часов. А иногда нужно всего -лишь подкорректировать только что-то в конце цепочки - например в приложении для процессора. 2. Не все пользователи имеют все необходимые проги. Т.е. тот кто пишет код для процессора под linux может не иметь Matlab и EDK и таким образом он вообще не может получить исходники для своего проэкта.
Вопрос - как это решить. Хранить результаты тоже? Если хранить то где их хранить - в исходных проектах или в проектах, где они используются? Как тогда все остслеживать?
|
|
|
|
|
 |
Ответов
|
Jul 12 2013, 10:14
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (syoma @ Jul 12 2013, 10:40)  Так где храните? В проектах, где они сгенерированы, или в проектах, где они используются? Логика подсказывает, что хранить нужно там, где используются. Тогда а) не будет проблем привязки ревизий генерирующего репозитория к ревизиям использующего. б) использующий проект достается целиком одним махом из одного репозитория готовым к сборке.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 12 2013, 10:34
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Цитата(Сергей Борщ @ Jul 12 2013, 12:14)  Логика подсказывает, что хранить нужно там, где используются. А мне - что там, где генерируется. Например, если один и тот же сгенерированный файл используется в нескольких проектах. Цитата а) не будет проблем привязки ревизий генерирующего репозитория к ревизиям использующего. По идее это должно быть решаемо настройкой четкой привязки использующего репозитария к ревизии генерирующего через svn:external. Или не?
|
|
|
|
|
Jul 12 2013, 15:34
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(syoma @ Jul 12 2013, 14:34)  По идее это должно быть решаемо настройкой четкой привязки использующего репозитария к ревизии генерирующего через svn:external. Или не? Именно так. Причем можно разные папки генерирующего использовать вразбивку (ссылка-то в виде URL/revision!).
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|