реклама на сайте
подробности

 
 
> SVN: Как хранить файлы, которые одновременно являются и результатом и исходниками, Не знаю как сделать
syoma
сообщение Jul 12 2013, 07:39
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 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 и таким образом он вообще не может получить исходники для своего проэкта.

Вопрос - как это решить. Хранить результаты тоже? Если хранить то где их хранить - в исходных проектах или в проектах, где они используются? Как тогда все остслеживать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
richie
сообщение Jul 12 2013, 08:18
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 147
Регистрация: 5-07-04
Из: Обнинск
Пользователь №: 261



Лично я храню и результаты сборок.
Именно из-за описанных Вами проблем.

Единственное, что нужно сделать сразу - завести для каждого проекта свой репозиторий.
Go to the top of the page
 
+Quote Post
syoma
сообщение Jul 12 2013, 08:40
Сообщение #3


Профессионал
*****

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



Цитата(richie @ Jul 12 2013, 10:18) *
Лично я храню и результаты сборок.

Так где храните? В проектах, где они сгенерированы, или в проектах, где они используются? И как их потом подключаете?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 12 2013, 10:14
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post
syoma
сообщение Jul 12 2013, 10:34
Сообщение #5


Профессионал
*****

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



Цитата(Сергей Борщ @ Jul 12 2013, 12:14) *
Логика подсказывает, что хранить нужно там, где используются.

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

По идее это должно быть решаемо настройкой четкой привязки использующего репозитария к ревизии генерирующего через svn:external. Или не?

Go to the top of the page
 
+Quote Post
Raven
сообщение Jul 12 2013, 15:34
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



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

Именно так. Причем можно разные папки генерирующего использовать вразбивку (ссылка-то в виде URL/revision!).
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01435 секунд с 7
ELECTRONIX ©2004-2016