Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // VCSTestRepoURL is the URL of the HTTP server that serves the repos for // vcs-test.golang.org. // // In tests, this is set to the URL of an httptest.Server hosting a // github.com/go-asm/go/cmd/go/vcweb.Server. VCSTestRepoURL string // VCSTestHosts is the set of hosts supported by the vcs-test server. VCSTestHosts []string // VCSTestIsLocalHost reports whether the given URL refers to a local // (loopback) host, such as "localhost" or "127.0.0.1:8080". VCSTestIsLocalHost func(*urlpkg.URL) bool )
Functions ¶
func CheckGOVCS ¶
CheckGOVCS checks whether the policy defined by the environment variable GOVCS allows the given vcs command to be used with the given repository root path. Note that root may not be a real package or module path; it's the same as the root path in the go-import meta tag.
func CheckNested ¶
CheckNested checks for an incorrectly-nested VCS-inside-VCS situation for dir, checking parents up until srcRoot.
Types ¶
type Cmd ¶
type Cmd struct { Name string Cmd string // name of binary to invoke command RootNames []rootName // filename and mode indicating the root of a checkout directory CreateCmd []string // commands to download a fresh copy of a repository DownloadCmd []string // commands to download updates into an existing repository TagCmd []tagCmd // commands to list tags TagLookupCmd []tagCmd // commands to lookup tags before running tagSyncCmd TagSyncCmd []string // commands to sync to specific tag TagSyncDefault []string // commands to sync to default tag Scheme []string PingCmd string RemoteRepo func(v *Cmd, rootDir string) (remoteRepo string, err error) ResolveRepo func(v *Cmd, rootDir, remoteRepo string) (realRepo string, err error) Status func(v *Cmd, rootDir string) (Status, error) }
A Cmd describes how to use a version control system like Mercurial, Git, or Subversion.
func FromDir ¶
FromDir inspects dir and its parents to determine the version control system and code repository to use. If no repository is found, FromDir returns an error equivalent to os.ErrNotExist.
func (*Cmd) Create ¶
Create creates a new copy of repo in dir. The parent of dir must exist; dir must not.
type ImportMismatchError ¶
type ImportMismatchError struct {
// contains filtered or unexported fields
}
A ImportMismatchError is returned where metaImport/s are present but none match our import path.
func (ImportMismatchError) Error ¶
func (m ImportMismatchError) Error() string
type ModuleMode ¶
type ModuleMode int
ModuleMode specifies whether to prefer modules when looking up code sources.
const ( IgnoreMod ModuleMode = iota PreferMod )
type RepoRoot ¶
type RepoRoot struct { Repo string // repository URL, including scheme Root string // import path corresponding to root of repo IsCustom bool // defined by served <meta> tags (as opposed to hard-coded pattern) VCS *Cmd }
RepoRoot describes the repository root for a tree of source code.
func RepoRootForImportPath ¶
func RepoRootForImportPath(importPath string, mod ModuleMode, security web.SecurityMode) (*RepoRoot, error)
RepoRootForImportPath analyzes importPath to determine the version control system, and code repository to use.