gogive

command module
v0.0.0-...-177de74 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2018 License: MIT Imports: 10 Imported by: 0

README

gogive is a tool that establishes an arbitrary mapping between
a list of import paths and their source control repositories for use
with the `go get` tool. This allows you to, for example, construct
meaningful import paths under your own site name, such as

	import "example.org/net/lldp"

While still taking advantage of third-party code hosting sites like github,
which offer a lot in terms of scalability and collabaration tools (issues, etc).

To run `gogive`, create a configuration file with lines of the form

	prefix vcs repo

Where `prefix` is the import path prefix, `vcs` is the version control tool,
and `repo` is the url of the actual source repository. Then run `gogive`:

	$ gogive /path/to/gogive-config-file

For use as a service, run it under a supervisor such as Upstart, daemontools,
supervisord, or systemd.

Documentation

Overview

gogive is a tool to serve vanity import paths for Go programs.

Usage:

gogive [-a addr] file

gogive will bind to the address specified by addr, or :9625 if none is specified, and serve HTTP requests issued by the go tool as described in https://golang.org/cmd/go/#hdr-Remote_import_paths

File must be a utf-8 encoded plain text file containing path redirect specifications, one per line, of the form

/path vcs vcsrepo

HTTP GET requests of the form /path?go-get=1 will receive an html page with the following meta tag:

<meta name="go-import" content="example.com/path vcs vcsrepo">

Note that gogive will use the value of the Host: header in the HTTP request in the output HTML. HTTP requests that do not contain the "go-get" query parameter will be redirected to godoc.org.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL