Size: a a a

Git — русскоговорящее сообщество

2017 August 16

P

Pavel in Git — русскоговорящее сообщество
К слову, никогда не приходилось юзать git subtree, сейчас почитал про них, и не понял чем они лучше.
В каких случаях их удобнее применять?
источник

AS

Anton Sozonov in Git — русскоговорящее сообщество
В сабмодулях при коммите иногда получается detached head. Напрягает немного
источник

P

Pavel in Git — русскоговорящее сообщество
Ну это принцип их работы. Он же не может ссылаться на ветку, иначе когда ветка на сервере уедет, сабмодуль втихую обновится у части разработчиков (которые обновят локальную копию). И получится что у разных разработчиков разное состояние на одном коммите.
Да и потом при попытке откатить репозиторий для поиска источника бага пойди разберись на каком коммите были сабмодули.
С угадыванием ветки по коммиту наверно тоже просто так не сделать механизм который бы всегда работал предсказуемо.
источник

P

Pavel in Git — русскоговорящее сообщество
С Detached head конечно неудобно, но за то работает всегда предсказуемо
источник

AS

Anton Sozonov in Git — русскоговорящее сообщество
Pavel
Ну это принцип их работы. Он же не может ссылаться на ветку, иначе когда ветка на сервере уедет, сабмодуль втихую обновится у части разработчиков (которые обновят локальную копию). И получится что у разных разработчиков разное состояние на одном коммите.
Да и потом при попытке откатить репозиторий для поиска источника бага пойди разберись на каком коммите были сабмодули.
С угадыванием ветки по коммиту наверно тоже просто так не сделать механизм который бы всегда работал предсказуемо.
Ну да, наверное так
источник

AS

Anton Sozonov in Git — русскоговорящее сообщество
в общем сабмодули гут и ничего кардинально лучше человечество не придумало пока.
Окай, буду спокоен :)
источник

EK

Evgeniy Kuvshinov in Git — русскоговорящее сообщество
Pavel
Ну такое, я могу припомнить только Rust, где пакетный менеджер был бы удобнее чем git submodules
в любом почти яп есть менеджер зависимостей rust - cargo, js - npm, php - composer и тд
источник

EK

Evgeniy Kuvshinov in Git — русскоговорящее сообщество
я лишь один язык могу назвать где этого нет из коробки это C++
источник

EK

Evgeniy Kuvshinov in Git — русскоговорящее сообщество
ну и C тоже
источник

P

Pavel in Git — русскоговорящее сообщество
В Lua ничего такого не припомню, в go все достаточно плохо с этим (когда тебе нужно делать несколько проектов на разных версиях одной библиотеки)
источник

EK

Evgeniy Kuvshinov in Git — русскоговорящее сообщество
но там вопрос зависимостей решается или копированием dll в windows или so в linux, установка dll через инсталятор, а в so в linux через apt rpm pacman и тд
источник

EK

Evgeniy Kuvshinov in Git — русскоговорящее сообщество
Pavel
В Lua ничего такого не припомню, в go все достаточно плохо с этим (когда тебе нужно делать несколько проектов на разных версиях одной библиотеки)
источник

EK

Evgeniy Kuvshinov in Git — русскоговорящее сообщество
но это оффтоп и с go не работал поэтому могу согласится что там все печально
источник

EK

Evgeniy Kuvshinov in Git — русскоговорящее сообщество
но не уверен многие этот вопрос как то решали
источник

d

dm in Git — русскоговорящее сообщество
а если общей библиотеки нет в "сторе" , т е ее не разрулишь менеджером зависимостей
источник

P

Pavel in Git — русскоговорящее сообщество
Выглядит неплохо, похоже это то что мне когда-то было очень нужно. Нужно будет постестить. Кстати в go и сабмодули не очень помогают в этом плане, так что плохой был пример.
источник

P

Pavel in Git — русскоговорящее сообщество
dm
а если общей библиотеки нет в "сторе" , т е ее не разрулишь менеджером зависимостей
Те же менеджеры зависимостей в go и Rust могут менеджить, например репозитории с гитхаба как зависимости.
источник

d

dm in Git — русскоговорящее сообщество
ну для c# я nuget это неразрулю
источник

EK

Evgeniy Kuvshinov in Git — русскоговорящее сообщество
Pavel
Те же менеджеры зависимостей в go и Rust могут менеджить, например репозитории с гитхаба как зависимости.
да
источник

EK

Evgeniy Kuvshinov in Git — русскоговорящее сообщество
и у этих репозиториев их зависимости подгружать
источник