buf: github.com/bufbuild/buf/internal/pkg/storage/storagegit Index | Files

package storagegit

import "github.com/bufbuild/buf/internal/pkg/storage/storagegit"

Package storagegit implements git utilities.

This uses https://github.com/src-d/go-git.

Index

Package Files

storagegit.go

func Clone Uses

func Clone(
    ctx context.Context,
    logger *zap.Logger,
    getenv func(string) string,
    homeDirPath string,
    gitURL string,
    refName storagegitplumbing.RefName,
    httpsUsernameEnvKey string,
    httpsPasswordEnvKey string,
    sshKeyFileEnvKey string,
    sshKeyPassphraseEnvKey string,
    sshKnownHostsFilesEnvKey string,
    bucket storage.Bucket,
    options ...storagepath.TransformerOption,
) error

Clone clones the url into the bucket.

This is roughly equivalent to git clone --branch gitBranch --single-branch --depth 1 gitUrl. Only regular files are added to the bucket.

Branch is required.

If the gitURL begins with https:// and there is an HTTPS username and password, basic auth will be used. If the gitURL begins with ssh:// and there is a valid SSH configuration, ssh will be used.

This really needs more testing and cleanup. Only use for local CLI checking.

Package storagegit imports 26 packages (graph). Updated 2020-02-20. Refresh now. Tools for package owners.