add a few comments

This commit is contained in:
Nathan Youngman 2014-09-23 22:22:44 -06:00
parent a706b00c10
commit 06fff2f2c8
2 changed files with 12 additions and 8 deletions

14
main.go
View File

@ -29,9 +29,6 @@ func main() {
func run() error {
flag.Parse()
//if len(flag.Args()) > 0 {
// return fmt.Errorf("too many arguments: %s", flag.Args()[0])
//}
http.HandleFunc("/", handler)
@ -68,11 +65,12 @@ go get {{.GopkgPath}}
</html>
`))
// Repo represents a source code repository on GitHub.
type Repo struct {
User string
Name string
SubPath string
OldFormat bool
OldFormat bool // The old /v2/pkg format.
MajorVersion Version
AllVersions VersionList
}
@ -91,12 +89,12 @@ func (repo *Repo) GopkgRoot() string {
return repo.GopkgVersionRoot(repo.MajorVersion)
}
// GopkgRoot returns the package path at gopkg.in, without a schema.
// GopkgPath returns the package path at gopkg.in, without a schema.
func (repo *Repo) GopkgPath() string {
return repo.GopkgVersionRoot(repo.MajorVersion) + repo.SubPath
}
// GopkgVerisonRoot returns the package root in gopkg.in for the
// GopkgVersionRoot returns the package root in gopkg.in for the
// provided version, without a schema.
func (repo *Repo) GopkgVersionRoot(version Version) string {
version.Minor = -1
@ -222,8 +220,8 @@ var httpClient = &http.Client{Timeout: 10 * time.Second}
const refsSuffix = ".git/info/refs?service=git-upload-pack"
var ErrNoRepo = errors.New("repository not found in github")
var ErrNoVersion = errors.New("version reference not found in github")
var ErrNoRepo = errors.New("repository not found in GitHub")
var ErrNoVersion = errors.New("version reference not found in GitHub")
func hackedRefs(repo *Repo) (data []byte, versions []Version, err error) {
resp, err := httpClient.Get("https://" + repo.GitHubRoot() + refsSuffix)

View File

@ -4,6 +4,8 @@ import (
"fmt"
)
// Version is a semantic version number (SemVer).
// An element that is not present is represented as -1.
type Version struct {
Major, Minor, Patch int
}
@ -21,6 +23,7 @@ func (v Version) String() string {
return fmt.Sprintf("v%d.%d.%d", v.Major, v.Minor, v.Patch)
}
// Less returns true if v is less than other.
func (v Version) Less(other Version) bool {
if v.Major != other.Major {
return v.Major < other.Major
@ -31,6 +34,7 @@ func (v Version) Less(other Version) bool {
return v.Patch < other.Patch
}
// Contains returns true if other >= v yet below the next major version.
func (v Version) Contains(other Version) bool {
if v.Patch != -1 {
return v == other
@ -41,10 +45,12 @@ func (v Version) Contains(other Version) bool {
return v.Major == other.Major
}
// IsValid tests if a version is valid.
func (v Version) IsValid() bool {
return v != InvalidVersion
}
// InvalidVersion represents a version that can't be parsed.
var InvalidVersion = Version{-1, -1, -1}
func parseVersion(s string) (Version, bool) {