ilnur
Окт. 7, 2015 12:04:38
привет.
пишу два модуля, в каждом модуле есть соответственно дока, сфинкс документация.
хочу сделать третью репу, в которой хочу видеть все эти папки доков с двух модулей.
соответственно чтобы была возможность редактирования доков как из самих модулей, так и из третьего репозитория.
спасибо.
наверняка сталкивались с подобной ситуацией. кто как решает подобные задачи?
ZZZ
Окт. 7, 2015 14:48:39
ilnur
Окт. 7, 2015 14:50:47
спс.
сабмодуль и сабтри я видел.
пока не понял как их заюзать, может есть ещё какие варианты? может я не правильный подход выбрал к этому?
ZZZ
Окт. 7, 2015 15:31:46
Ну вот это стандартное решение, когда хочется один реп внутри другого держать. Там хранится ссылка на конкретный коммит. Очень удобно для многих вещей. И тут, как мне кажется, самое оно.
ilnur
Окт. 7, 2015 15:35:13
тут даже не репу держать внутри другой репы, а именно папку с репы в другой репе.
чтобы разработчик мог пилить свой модуль, и править доку
чтобы техписатель правил туже доку только уже в своей репе.
ilnur
Окт. 7, 2015 15:37:11
либо да, репу в репе, но чтобы был доступ только к определенной папке, а не нужные папки чтобы вообще никак не были видны
ZZZ
Окт. 7, 2015 18:05:22
У нас отдельный реп для документации, подключённый подмодулем. Все довольны. :-)
doza_and
Окт. 7, 2015 23:43:37
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
Окт. 8, 2015 02:43:50
ilnur
соответственно чтобы была возможность редактирования доков как из самих модулей, так и из третьего репозитория.
Звучит не очень. Как ты это себе представляешь?
ilnur
наверняка сталкивались с подобной ситуацией. кто как решает подобные задачи?
Связи нужно убирать, а не добавлять.
Поэтому у меня проект, а в нём куски (компоненты проекта) в своих директориях. Каждый кусок - это репозиторий, ни с чем не связанный.
На вершине директорий (в собственном репозитории) находится описание проекта в целом, там же будут скрипты тестирования, сборки и деплоя всего проекта. (Это всё делается через делегирование.)
Так можно компоненты разрабатывать по отдельности и вообще заменять целиком (если надо).
В верхнем репозитории куски не подключены, а занесены в .gitignore.
Всё удобно, распределено и не связано.
ilnur
Окт. 8, 2015 07:48:56
всем спасибо. буду пробовать разбивать все на отдельные репы и собирать в одну.
тут есть ещё один вопрос.
часть модулей будет выкладываться в опенсорс, соответсвенно на гитхаб.
по хорошему, в самом модуле должна быть наверное дока.
но дока будет лежать в отдельной репе.
и получается если человек зайдет на гитхаб, на страницу модуля, то не увидит доков, верно я понимаю?
надо будет лишний раз указывать, что доки модуля лежат в отдельной репе?
или как?