gitconfig

package module
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2015 License: MIT Imports: 7 Imported by: 160

README

go-gitconfig

GitHub release Wercker Coveralls MIT License Go Documentation

go-gitconfig is a pacakge to use gitconfig values in Golang.

Sometimes you want to extract username or its email address implicitly in your tool. Now most of developer use git, so we can use its configuration variables. go-gitconfig is for that.

go-gitconfig is very small, so it may not be included what you want to use. If you want to use more git specific variable, check Other.

Usage

If you want to use git user name defined in ~/.gitconfig:

username, err := gitconfig.Username()

Or git user email defined in ~/.gitconfig:

email, err := gitconfig.Email()

Or, if you want to extract origin url of current project (from .git/config):

url, err := gitconfig.OriginURL()

You can also extract value by key:

editor, err := gitconfig.Global("core.editor")
remote, err := gitconfig.Local("branch.master.remote")

See more details in document at https://godoc.org/github.com/tcnksm/go-gitconfig.

Install

To install, use go get:

$ go get -d github.com/tcnksm/go-gitconfig

VS.

These packages have many features to use git from golang. go-gitconfig is very simple alternative and focus to extract information from gitconfig. go-gitconfig is used in tcnksm/ghr.

Contribution

  1. Fork (https://github.com/tcnksm/go-gitconfig/fork)
  2. Create a feature branch
  3. Commit your changes
  4. Rebase your local changes against the master branch
  5. Run test suite with the go test ./... command and confirm that it passes
  6. Run gofmt -s
  7. Create new Pull Request

Author

tcnksm

Documentation

Overview

Package gitconfig enables you to use `~/.gitconfig` values in Golang.

For a full guide visit http://github.com/tcnksm/go-gitconfig

package main

import (
  "github.com/tcnksm/go-gitconfig"
  "fmt"
)

func main() {
  user, err := gitconfig.Global("user.name")
  if err == nil {
    fmt.Println(user)
  }
}

Index

Constants

This section is empty.

Variables

View Source
var RepoNameRegexp = regexp.MustCompile(`.+/([^/]+)(\.git)?$`)

Functions

func Email

func Email() (string, error)

Email extracts git user email from `$HOME/.gitconfig` file or `$GIT_CONFIG`. This is same as Global("user.email")

func Entire

func Entire(key string) (string, error)

Entire extracts configuration value from `$HOME/.gitconfig` file , `$GIT_CONFIG`, /etc/gitconfig or include.path files.

func GithubToken

func GithubToken() (string, error)

Github extracts github token from `Entire gitconfig`. This is same as Entire("github.token")

func GithubUser

func GithubUser() (string, error)

GithubUser extracts github.user name from `Entire gitconfig` This is same as Entire("github.user")

func Global

func Global(key string) (string, error)

Global extracts configuration value from `$HOME/.gitconfig` file or `$GIT_CONFIG`.

func Local

func Local(key string) (string, error)

Local extracts configuration value from current project repository.

func OriginURL

func OriginURL() (string, error)

OriginURL extract remote origin url from current project repository. This is same as Local("remote.origin.url")

func Repository

func Repository() (string, error)

Repository extract repository name of current project repository.

func Username

func Username() (string, error)

Username extracts git user name from `Entire gitconfig`. This is same as Entire("user.name")

Types

This section is empty.

Jump to

Keyboard shortcuts

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