Aleksandr
Konstantin
всё ровно так и написано :)
Mikhail
какая самая оптимальная либа для создания телеграмных ботов?
Aleksandr
Aleksandr
давай логи, разберемся
Aleksandr
и содержимое .gitconfig
Konstantin
# cat ~/.gitconfig
[url "git@bit.foo.bar:"]
insteadOf = https://bit.foo.bar/
[url "git@bit.foo.bar:"]
insteadOf = http://bit.foo.bar/
# go get -x bit.foo.bar/name/proj
package bit.foo.bar/name/proj: unrecognized import path "bit.foo.bar/name/proj" (https fetch: Get https://bit.foo.bar/name/proj?go-get=1: dial tcp 10.10.10.10:443: connect: connection refused)
Konstantin
нет у моего гита, допустим, веб-интерфейса
Konstantin
в целом, я довольствуюсь ответом "роб пайк считает что это не нужно и этого никогда не будет в тулинге" :)
Aleksandr
не, go get работает с go-gettable пакетами, ему нужен тот урл, по которому он стучится
Aleksandr
исключено то есть. вот насчет dep не помню
Konstantin
во, это уже похоже на правду
Aleksandr
но вероятно он тоже сначала через ?go-get ресолвит, а потом с помощью .gitconfig сливает через ssh
Konstantin
не, тогда всё логично
Aleksandr
Aleksandr
у гитхаба, gogs, gitea, bitbucket есть поддержка go-get, поэтому тут все ок. а без морды увы
Roman
Всем доброго дня, есть ли какой-нибудь удобный шаблонизатор на go, как jinja на python?
Konstantin
короче, мои приключения продолжаются.
go get -insecure bit.foo.bar/name/proj работает нормально
Konstantin
insecure потому что у меня там пока нету https, не суть
Konstantin
прям ставит всё, всё ок
Konstantin
как только делаю go get -insecure -u bit.foo.bar/name/proj
Konstantin
сразу смешная ошибка
Konstantin
first path segment in URL cannot contain colon
Konstantin
тк go get вызывает git config remote.origin.url
Konstantin
а в конфиге указан хттп, который самим гитом рерайтится в ssh с помощью insteadOf из ~/.gitconfig
Konstantin
но go get не знает ничего об этом рерайте и радостно падает
Daniel
и какой отсюда вывод?
Konstantin
ну честно говоря не самый хороший - тулинг в го запредельное говно
Konstantin
но я ваще не своими крайне ценными выводами хотел поделиться, а совета попросить
Vladislav
(сервер нормально надо поднимать)
Konstantin
а можно подробнее?
Vladislav
сертификаты и доступы
Konstantin
у меня вполне себе нормально поднятый сервер, просто у меня нету http(s) репозиториев, всё только через ssh
Konstantin
(сервер - bitbucket server, если что, не какое-то там кривое говно)
Konstantin
я правильно делаю выводы из строк выше - go get не умеет нормально работать с ssh-доступом к приватным репозиториям? только через http(s)?
Aleksandr
bit.foo.bar/name/proj?go-get=1 - тут что отдается? http/https/без схемы?
Konstantin
сек
Daniel
Daniel
но не отдается
Aleksandr
он поднял какую-то морду видимо
Konstantin
не поднимал, это просто битбакет-сервер, который официально все это поддерживает
Aleksandr
Konstantin
сек
Konstantin
что-то отдается, но с виду херня какая-то
Konstantin
нет под рукой правильного ответа?
Vladislav
Konstantin
<meta name="go-import" content="bit.foo.bar/scm/name git http://bit.foo.bar/scm/scm/name.git">
Konstantin
Konstantin
Aleksandr
http://bit.foo.bar/scm/scm/name.git
вот это дальше идет в git и рерайтится согласно настройкам
Aleksandr
должно так быть
Konstantin
Aleksandr
<meta name="go-import" content="git.domain/username/go-pack git https://git.domain/username/go-pack.git">
Konstantin
не, с виду у меня всё то же самое
Konstantin
но если сделать -x -u то сразу видно, что вызывается git config remote.origin.url и пытается распарситься
Konstantin
и падает на first path segment in URL cannot contain colon
Aleksandr
Aleksandr
я сделал go get -x -u - он урла не показывает. да вроде как и не должен - передает гиту же работу, а гит логов не пишет
Aleksandr
покажи на какой стадии ругается
Aleksandr
Aleksandr
для истории: в .gitconfig надо прописать
[url "git@git.domain.com:"]
insteadOf = https://git.domain.com/
или для варианта с нестандартным портом
[url "ssh://git@git.domain.com:10022/"]
insteadOf = https://git.domain.com/
ssh-ключ должен лежать где надо
Aleksandr
вот все что нужно
heavycharged
товарищи, а вот такой XML:
<price>
<site1.ru>114</site1.ru>
<site2.ru>2123</site2.ru>
</price>
можно распаковать в [] элементов?
heavycharged
чето чую я что тут тегами не получится обойтись.
heavycharged
или получится?
heavycharged
таких элементов, как site1.ru, целая куча, их не два, их больше 50..
Nurzhan
Vasily
heavycharged
да, можно в слайс чисел, но желательно все же в []Price{Site string, Price float64}
Vasily
да, можно потоковым парсером такое делать
heavycharged
потоковый парсер имеется ввиду заходим в for {} и там проверяем имя ноды, и её детей и т.д.?
Vasily
https://golang.org/pkg/encoding/xml/#Decoder
Vasily
ага
Nurzhan
или заимплиментить https://golang.org/pkg/encoding/xml/#Unmarshaler
Vasily
довольно змороченно выйдет если структура большая, но зато гибко
heavycharged
благодарю за инфу.
freezlite
есть ast.Field из go/ast, как из него достать тэги грамотно?
freezlite
reflect например немного на другом уровне