Daniel
чем еще-то?
A
Для гита прокатывает, для go get и dep - нет.
Vladimir
A
Если git clone сделаю с указанием http://... - всё ок, но с go get не работает, он будет только по https пытаться загрузить, а dep вначале попытается по https загрузить, потом, когда не получится, фоллбекнется на ssh.
A
У меня прокатило для депа
А можно ваш конфиг?
Vladimir
А можно ваш конфиг?
В понедельник напомни
A
У меня сейчас так ~/.gitconfig [url "git@git.blabla.bla:"] insteadOf = https://git.blabla.bla/ pushInsteadOf = https://git.blabla.bla/ ~/.ssh/config Host git.blabla.bla HostName git.blabla.bla Port 1234 User myusername IdentityFile ~/.ssh/key
Vladimir
Ноут день брать
Aleksandr
В проблему не вникал
Aleksandr
Может не к месту
A
На всякий случай
Порт прописан в ~/.ssh/config, поэтому git clone работает и без указания порта в ~/.gitconfig. Но если прописать порт и в ~/.gitconfig, то вообще всё перестает работать. :)
A
Перестает работать тогда.
Ivan
я так делал [url "ssh://git@stash.abc.ee:22222"] insteadOf = https://stash.abc.ee/scm
A
Нет, так-то git clone работает, не работает именно go get и dep (dep долго ждет).
Ivan
ну у меня так go get отличненько пашет
Aleksandr
Нет, так-то git clone работает, не работает именно go get и dep (dep долго ждет).
повтори исходную проблему, чтобы по кускам не собирать
Ivan
go get stash.abc.ee/services/dispatcher/cmd/dispatcher
Ivan
и пашет)
A
Есть приватный репозиторий, с доступами по ssh-ключам. Используются следующие конфиги: ~/.gitconfig [url "git@git.blabla.bla:"] insteadOf = https://git.blabla.bla/ pushInsteadOf = https://git.blabla.bla/ ~/.ssh/config Host git.blabla.bla HostName git.blabla.bla Port 1234 User myusername IdentityFile ~/.ssh/key При этом git clone http://git.blabla.bla/my/super/repo отрабатывает успешно, но go get фейлится, а dep отрабатывает, но после большого ожидания (пока по http вначале не затаймаутится).
Ivan
git config --global url."ssh://git@git.blabla.bla:1234".insteadOf "https://git.blabla.bla/"
Ivan
по дефолту юзаю ключ id_rsa
Aleksandr
а go get покажи выхлоп
A
У меня IdentityFile прописан же
Aleksandr
как вызываешь команду?
Ivan
У меня IdentityFile прописан же
попробуй пока без патчинга .ssh/config и id_rsa запили сделай который у тебя ssh/key, для тестов
Ivan
если запашет, значит не надо тебе мучить гит конфиг
A
а go get покажи выхлоп
go get git.blabla.bla/my/super/repo На выходе: https fetch failed: Get https://git.blabla.bla/my/super/repo?go-get=1: dial tcp 1.2.3.4:443: i/o timeout и дальше про то, что не удовлетворены зависимости
A
@MeGaPk, сейчас пробую вот
Aleksandr
может некорректно что-то? отступы там или еще что
A
@zelenin, да, но сам git подхватывает вполне успешно.
Aleksandr
логично
Aleksandr
а сделай go get -v
Aleksandr
сравню со своим выхлопом
A
Так и делаю, он просто перед ошибкой тогда пишет, мол, Fetching и там https
Aleksandr
давай сюда его
Aleksandr
у меня тоже это же
Aleksandr
в этом и причина навреное
Aleksandr
у тебя же не может быть репо не go-gettable
A
git config --global url."ssh://git@git.blabla.bla:1234".insteadOf "https://git.blabla.bla/"
Сделал так сейчас (разве что "/" после 1234, он там нужен), временно убрал из ~/.sshconfig запись, положил id_rsa. Опять же, git clone работает, а go get - пытается получить по https, а потом отваливается по таймауту.
Aleksandr
у тебя просто репо или какой-то сервис?
A
gitlab
Aleksandr
оно умеет ?go-get=1?
A
dep всегда получает репу, просто после ожидания долгого, когда дождется таймаута https.
Aleksandr
ну кинь go get -v
A
go get никогда не получает. Но он и не пытается по ssh получать, только по https лезет.
Ivan
дык копать то надо почему go get не берет инфу из gitconfig
Aleksandr
а потому что он не знает что по гиту надо идти
Aleksandr
потому что ресурс не go-getable
A
ну кинь go get -v
Как и писал go get -v git.blabla.bla/my/repo Fetching https://git.blabla.bla/my/repo?go-get=1 https fetch failed: Get https://git.blabla.bla/my/repo?go-get=1: dial tcp 1.2.3.4:443: i/o timeout package git.blabla.bla/my/repo: unrecognized import path "git.blabla.bla/my/repo" (https fetch: Get https://git.blabla.bla/my/repo?go-get=1: dial tcp 1.2.3.4:443: i/o timeout)
Aleksandr
смотри как это работает
Aleksandr
ты делаешь go get [path], он лезет по https://[path]?go-get=1, там читает метатеги, в которых прописан ресурс, откуда брать код, то есть "git https://........" и дальше уже через гит пытается лезть на https://..., что будет работать через gitconfig
Aleksandr
ты обламываешься на самой первой стадии, не доходя до гита
A
Тааак. А по https у меня вообще ничего не отдается, там http в vpn.
A
Сейчас накачу сертификат и посмотрю, что выйдет.
Aleksandr
Fetching https://git....?go-get=1 Parsing meta tags from https://git....?go-get=1 (status code 200) get "git....": found meta tag get.metaImport{Prefix:"git....", VCS:"git", RepoRoot:"https://....git"} at https://git....?go-get=1 git.... (download) git....
Aleksandr
вот так должно выглядеть
🏁Александр
что вы химичите тут?
Aleksandr
как всегда - приватные репо)
🏁Александр
капец
🏁Александр
может уже пора написать вмяемый сервер для контроля? 🙂
A
Что-то всё равно непонятно что делать, ведь gitlab просто выхлапывает форму входа по http.
Aleksandr
попробуй к урлу репо добавить ?go-get=1
Aleksandr
не может быть чтобы гитлаб не поддерживал это
A
Да не, он просто форму входа выхлопнет по любому адресу подобному.
A
Если в конце указать .git, то всё отработает, dep сразу по ssh идет. Но тогда в Gopkg.toml нужно прописывать все сопоставления с .git и без .git руками, что ненормально.
Aleksandr
https://gitlab.com/gitlab-org/gitlab-ce/issues/37832
Aleksandr
погугли че там
Anonymous
моя функция
Если кому интересно, проблема была в Content-Type Ща отснифаю запросы и посмотрю че туда вписать надо
Nikita
вот откуда эта манера постить код картинками?
Хоть один аргумент почему это плохо?
Aleksandr
Хоть один аргумент почему это плохо?
на разных устройствах выглядит по разному, нельзя скопировать код, подправить и написать в чат, картинка перекрывает остальной чат итд
Vladimir
Нет, так-то git clone работает, не работает именно go get и dep (dep долго ждет).
у меня вот insteadOf работает отлично. dep какой версии?
Aleksandr
у меня вот insteadOf работает отлично. dep какой версии?
разобрались уже. у него go-get не работает
Vladimir
а
Vladimir
это уже не знаю
Aleksandr
то есть до гита не доходит
Nikita
на разных устройствах выглядит по разному, нельзя скопировать код, подправить и написать в чат, картинка перекрывает остальной чат итд
На десктопе везде выглядит одинаково, никто же не будет копировать и править код с телефона, и картинка на фулхд экране занимает менее 20% скрола экрана