Oleksii
Без детских болезней
.
достаточно было бы добавить возможность скачивать репу с определенным коммитом
.
и сделать типа requirements.txt как в Python'e
.
и все, проблема решена
.
и не надо тащить с собой папку vendor, как в dep
Daniel
коллега
Daniel
папка vendor - единственная ценность dep
Daniel
пока вы это не поймете - не надо подступаться к решению проблем
Мерль
Выпуск 118. Сломанные Pull Request’ы http://golangshow.com/episode/2018/02-15-118/ #golangshow #подкаст
.
И в чем ценность тащить за собой исходники библиотек вместе с проектом?
.
Я не вижу вообще никакой ценности
.
при такой системе как сейчас в го - да, это единственное нормальное решение
Daniel
"я не вижу" - это вы точно сформулировали
Daniel
или все же видите?
Мерль
при такой системе как сейчас в го - да, это единственное нормальное решение
Это в принципе единственное нормальное решение, увы
Daniel
это единственное нормальное решение не только в go, но и в С и в С++
.
есть способы получше
.
как сделанно в pip
Oleksii
Артифактори
.
вместо версий номер коммита
Daniel
коллеги
.
вместо pypi - гитхаб
.
все просто
Daniel
вы задолбали
Daniel
разуйте глаза
.
вы задолбали
Вас никто не заставляет читать и отвечать
Anonymous
lol
Daniel
питоновской аппе нужны библиотеки не только на этапе разработки, но и на этапе исполнения. поэтому нужна инфраструктура вроде pip
Aleksandr
и не надо тащить с собой папку vendor, как в dep
но деп позволяет скачивать коммит и не заставляет таскать вендор. то есть уже умеет что вы хотели
Владимир
А завтра какой-нибудь Вася подсунет на урл какой-нибудь malicious реп и ваша программа притащит вредную зависимость. Зато папки vendor нет, ага!
Daniel
а гошной аппе либы нужны только на этапе компиляции
.
Так а какая разница вообще?
Daniel
поэтому нет никакого смысла делать pip, vendor решает все задачи
.
Включил либы в билд, и все
.
один бинарник как был так и остался
Daniel
еще раз
Daniel
в центральном репозитории прото нет смысла
.
Так никто и не говорит про центральный репозиторий
Daniel
поэтому его нет и не будет
.
гитхаба достаточно
Daniel
как мы знаем - это не так
Владимир
мне интересно, история с bindata никого не научила?
Daniel
аааааа
Daniel
я подозревал, что дело в недостаточной информированности
Владимир
а что с ним было?
а его с гитхаба удалили, и на его месте с тем же урлом появился якобы «форк», который принадлежит не автору проекта
Владимир
так что гитхаб — это не решение
.
Но при этом го get работает с гитхабом
Владимир
решение — vendor/, и оно замечательно
Oleksii
Вообще использовать гитхаб для менеджмента зависимостей - не очень. На гитхабе пользователь может удалиться, а потом с этим же именем можно создать новый аккаунт.
Владимир
go get работает с гитом, а не с гитхабом
Kirill
правильно понимаю, что бы использовать свой сторонний пакадж, его перед этим надо сбилдить/заинсталить а при запуске основного main, оно само может как то билдить все че надо?
Мерль
в центральном репозитории прото нет смысла
Я согласился бы, если бы не убогие пути импортов, которые прибивают тебя за яйца к гитхабу или другому хранилищу
Владимир
насколько теоретически возможно изменить коммит, не меняя его хеша?
Мерль
если у тебя зависит от определенного коммита, то тут никак не подсунуть чего то плохого
Импортить либы по коммитам — это убогое решение, хуже только просто из мастера подтягивать
.
ну там всего то 6-ти символов достаточно
.
может быть не так и убого
.
Ну а вообще, если сильно беспокоишься о возможности удаления профиля или проекта с гитхаба - сделай форк
Мерль
ну там всего то 6-ти символов достаточно
Да дело не в количестве символов, дело в том, что ты не можешь потом проапдейть зависимость Семвер нужен прежде всего для уменьшения боли при миграции между версиями
Мерль
В го абсолютные пути импортов
Владимир
А что мешает импортить url форка?
G72K
В го абсолютные пути импортов
dep позволяет переопределять откуда качать, но оставлять те же пути импорта. Как и glide
Мерль
dep позволяет переопределять откуда качать, но оставлять те же пути импорта. Как и glide
Именно, dep позволяет заизолировать проект со всеми исходниками от внешнего мира, в папочку сложить внутри проекта и не надеятся на форки, работу гитхаба и прочую ересь
Мерль
Включая несовместимые версии пакетов у двух разных проектов
Vladimir
он при этом решает проблему вложенных vendor'ов
Vladimir
в отличии от некоторых других способов составления vendor'а
Vladimir
и кто-то говорил что научился оставлять только используемое
Мерль
и кто-то говорил что научился оставлять только используемое
Неиспользуемые пакеты он умеет вырезать из зависимостей, да
Vladimir
Неиспользуемые пакеты он умеет вырезать из зависимостей, да
меня недавно чел просил вынести кусок один в отдельный пакет, ибо у него сабмодули, а репа с vendor вести 80МБ
Vladimir
я ему показал dep и ему dep init взял только нужный кусок, вырезав остальные 79.9МБ )
Vladimir
А что пишешь?
замену кускам graphite'а на Го, просто чуваку понадобился парсер запросов отдельно