Найти - Пользователи
Полная версия: git и управление проектами
Начало » Флейм » git и управление проектами
1 2
ilnur
привет.

пишу два модуля, в каждом модуле есть соответственно дока, сфинкс документация.

хочу сделать третью репу, в которой хочу видеть все эти папки доков с двух модулей.

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

спасибо.

наверняка сталкивались с подобной ситуацией. кто как решает подобные задачи?
ZZZ
https://git-scm.com/docs/git-submodule ?
ilnur
спс.

сабмодуль и сабтри я видел.

пока не понял как их заюзать, может есть ещё какие варианты? может я не правильный подход выбрал к этому?
ZZZ
Ну вот это стандартное решение, когда хочется один реп внутри другого держать. Там хранится ссылка на конкретный коммит. Очень удобно для многих вещей. И тут, как мне кажется, самое оно.
ilnur
тут даже не репу держать внутри другой репы, а именно папку с репы в другой репе.

чтобы разработчик мог пилить свой модуль, и править доку

чтобы техписатель правил туже доку только уже в своей репе.
ilnur
либо да, репу в репе, но чтобы был доступ только к определенной папке, а не нужные папки чтобы вообще никак не были видны
ZZZ
У нас отдельный реп для документации, подключённый подмодулем. Все довольны. :-)
doza_and
submodule пробовал не понравилось. subtree получше.

Из забавностей:
1. Никто не мешает в подпапке иметь свой собственный .git. А дальше все определяется только тем что у вас добавлено в систему контроля командой add. Надо только четко понимать что такая конструкция может привести к большому числу коммитов и дублированию данных. Ну и надо понимать что clone такой штуки будет многостадийным.
2. Никто не запрещает набрать в папку hardlinks от любых других папок в любых комбинациях. Тогда будут разные репозитории на разные комбинации файлов.

В обоих случаях естественно стремиться к тому чтобы файлы не пересекались в разных репозиториях и была доступна внешняя система контроля согласованности версий (например по git tag). И внешняя система совместного клонирования.

Но на мой взгляд самое правильное иметь эти репозитории отдельно (module1, module1_doc,module2, module2_doc) а управление их размещением и развертыванием поручить менеджеру пактов типа Gentoo, pacman, apt-get, miniconda…. ну в конце концов pip.

Кстати как раз ищу решение по package management. Почти все ставим с исходников. Пакетов и библиотек много - десятки. Контроль версий хочется совмещенный с git, чтобы не было двойной бугалтерии по версиям. билд система не актуальна, все обрабатывает scons. Может кто посоветует подходящее решение?
py.user.next
ilnur
соответственно чтобы была возможность редактирования доков как из самих модулей, так и из третьего репозитория.
Звучит не очень. Как ты это себе представляешь?

ilnur
наверняка сталкивались с подобной ситуацией. кто как решает подобные задачи?
Связи нужно убирать, а не добавлять.
Поэтому у меня проект, а в нём куски (компоненты проекта) в своих директориях. Каждый кусок - это репозиторий, ни с чем не связанный.
На вершине директорий (в собственном репозитории) находится описание проекта в целом, там же будут скрипты тестирования, сборки и деплоя всего проекта. (Это всё делается через делегирование.)
Так можно компоненты разрабатывать по отдельности и вообще заменять целиком (если надо).
В верхнем репозитории куски не подключены, а занесены в .gitignore.
Всё удобно, распределено и не связано.
ilnur
всем спасибо. буду пробовать разбивать все на отдельные репы и собирать в одну.

тут есть ещё один вопрос.

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

или как?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB