Разные версии пакетов из одного и того же источника 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 обрабатывать пакеты с одним и тем же именем с разными ревизиями?

Нет.

Другие вопросы по тегам