По умолчанию Go вытягивает импортированные зависимости, захватывая последнюю версию в master (github) или default (mercurial), если он не может найти зависимость от вашего GOPATH. И хотя этот рабочий процесс довольно прост для понимания, стало довольно сложно жестко контролировать. Поскольку все изменения в программном обеспечении приводят к некоторому риску, я хотел бы уменьшить риск этого потенциального изменения управляемым и повторяемым способом и избежать непреднамеренного подбора изменений зависимости, особенно при выполнении чистых сборок через сервер CI или при подготовке к развертыванию.
Каков самый эффективный способ привязать (например, заблокировать или захватить) зависимость пакета, чтобы я не смог воспроизвести старый пакет или, что еще хуже, неожиданно сломался, когда я собираюсь выпустить?
---- Обновление ----
Дополнительная информация о Текущее состояние Go Packaging. В то время как я закончил (начиная с 7.20.13), захватив зависимости в сторонней папке и управляя обновлениями (ala Camlistore), я все еще ищу лучший способ...
Кроме того, не забудьте увидеть go 1.5 vendor/experiment, чтобы узнать, как go может решить проблему в будущих версиях.