Разные версии пакетов из одного и того же источника Github, используя Golang Dep
Я пытаюсь преобразовать проект из govendor в dep. Тем не менее, я нахожу одно ограничение в dep, чтобы сделать это невозможным. В govendor, в файле vendor.json, у меня могут быть разные пакеты из одного и того же источника с разными хэшами ревизий. Вот так, например:
{
"checksumSHA1": "iYT7abLMy0Vfyy8nwoDZYirLrI4=",
"path": "github.com/docker/docker/api/types",
"revision": "deed26f7f0f9a9d279b8ac99389f204d9063d1a4",
"revisionTime": "2018-03-29T10:06:29Z"
},
{
"checksumSHA1": "jVJDbe0IcyjoKc2xbohwzQr+FF0=",
"path": "github.com/docker/docker/api/types/blkiodev",
"revision": "88c0317e23449d6ff730a1073f240586cbdfd4ba",
"revisionTime": "2017-08-23T07:13:08Z"
},
Однако, когда я решаю это с помощью init init, кажется, что окончательный файл.lock выбрал последнюю версию:
[[projects]]
digest = "1:3101683c3a63814ac8fe12a61fa01b728340f647c484d71573a31f041a68e7bc"
name = "github.com/docker/docker"
packages = [
"api/types",
"api/types/blkiodev",
]
pruneopts = "UT"
revision = "deed26f7f0f9a9d279b8ac99389f204d9063d1a4"
К сожалению, наличие каждого пакета под github.com/docker/docker с одной и той же ревизией у нас совсем не работает. Попытка сделать их все одной ревизией вызывает целый каскад изменений ревизии в других транзитивных пакетах, которые мы просто не можем допустить в настоящее время. (Этот пример сокращен, у нас есть много пакетов по адресу github.com/docker/docker, и эти пакеты помещены в три или четыре разные версии).
Таким образом, вопрос в том, может ли dep обрабатывать пакеты с одним и тем же именем с разными ревизиями? Если так, мы застряли навсегда с Говендором? Это сделало бы меня лично несчастным, потому что Говендор... эээ... вызов... (возможно, именно так мы попали в это плохое место)
Заранее спасибо за помощь!
1 ответ
Таким образом, вопрос в том, может ли dep обрабатывать пакеты с одним и тем же именем с разными ревизиями?
Нет.