Categorygithub.com/sourcegraph/go-vcsurl
modulepackage
0.0.0-20161114165620-2305ecca26ab
Repository: https://github.com/sourcegraph/go-vcsurl.git
Documentation: pkg.go.dev

# README

============================================= go-vcsurl - Lenient VCS repository URL parser

status

go-vcsurl parses VCS repository URLs in many common formats.

Note: the public API is experimental and subject to change until further notice.

Usage

Documentation: go-vcsurl on Sourcegraph.

Example: example_test.go (Sourcegraph):

package vcsurl_test

import (
	"fmt"
	"gopkg.in/sourcegraph/go-vcsurl.v1"
)

func ExampleParse() {
	urls := []string{
		"github.com/alice/libfoo",
		"git://github.com/bob/libbar",
		"code.google.com/p/libqux",
		"https://code.google.com/p/libbaz",
	}
	for i, url := range urls {
		if info, err := vcsurl.Parse(url); err == nil {
			fmt.Printf("%d. %s %s\n", i+1, info.VCS, info.CloneURL)
			fmt.Printf("   name: %s\n", info.Name)
			fmt.Printf("   host: %s\n", info.RepoHost)
		} else {
			fmt.Printf("error parsing %s\n")
		}
	}

	// output:
	// 1. git git://github.com/alice/libfoo.git
	//    name: libfoo
	//    host: github.com
	// 2. git git://github.com/bob/libbar.git
	//    name: libbar
	//    host: github.com
	// 3. hg https://code.google.com/p/libqux
	//    name: libqux
	//    host: code.google.com
	// 4. hg https://code.google.com/p/libbaz
	//    name: libbaz
	//    host: code.google.com
}

Running tests

Run go test.

Contributors

# Functions

Parses a string that resembles a VCS repository URL.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

RepoInfo describes a VCS repository.

# Type aliases

No description provided by the author
No description provided by the author