lab

command module
v0.15.2 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2019 License: Unlicense Imports: 11 Imported by: 0

README

git + = gitlab Build Status Go Report Card codecov Donate

Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab, including seamless workflows for creating merge requests, issues and snippets.

$ lab clone gitlab-com/infrastructure

# expands to:
$ git clone git@gitlab.com:gitlab-com/infrastructure

hub + = hublab??

lab will look for hub and uses that as your git binary when available so you don't have to give up hub to use lab

$ lab version
git version 2.11.0
hub version 2.3.0-pre9
lab version 0.15.1

Inspiration

The hub tool made my life significantly easier and still does! lab is heavily inspired by hub and attempts to provide a similar feel.

Installation

Dependencies

  • git or hub
Homebrew
brew install zaquestion/tap/lab
Scoop
scoop bucket add zaquestion https://github.com/zaquestion/scoop-bucket.git
scoop install lab
Bash

Installs lab into /usr/local/bin/

curl -s https://raw.githubusercontent.com/zaquestion/lab/master/install.sh | bash
PreBuilt Binaries

Head to the releases page and download your preferred release

Source

Required

git clone git@github.com:zaquestion/lab
cd lab
go install -ldflags "-X \"main.version=$(git  rev-parse --short=10 HEAD)\"" .

or

make install
Tests

See the contribution guide.

Configuration

lab needs your GitLab information in order to interact with to your GitLab instance. There are several ways to provide this information to lab:

  1. Environment variables: LAB_CORE_HOST, LAB_CORE_USER, LAB_CORE_TOKEN
  2. Environment variables: CI_PROJECT_URL, CI_REGISTRY_USER, CI_JOB_TOKEN
    • Note: these are meant for when lab is running within a GitLab CI pipeline
  3. HCL config file: ./lab.hcl
  4. HCL config file: ~/.config/lab.hcl

These are checked in order. If no suitable config values are found, lab will prompt for your GitLab information and save it into ~/.config/lab.hcl. For example:

$ lab
Enter default GitLab host (default: https://gitlab.com):
Enter default GitLab user: zaq
Enter default GitLab token:

Completions

lab provides completions for bash and zsh.

Bash

lab completion bash will generate a bash completion script. Save this script and source it in your .bashrc:

source "/path/to/lab-completions.bash"
Zsh

lab completion zsh will generate a zsh completion script. zsh completions are denoted with the syntax _command-name, so save the output of lab completion to a file name _lab. Place the file in your $FPATH, or create an new directory and add it to your $FPATH.

fpath=(/path/to/script_directory $fpath)

Aliasing

Like hub, lab feels best when aliased as git. In your .bashrc or .bash_profile

alias git=lab

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
copy
Package copy provides a function to recursively copy filesystem directories.
Package copy provides a function to recursively copy filesystem directories.
git
gitlab
Package gitlab is an internal wrapper for the go-gitlab package Most functions serve to expose debug logging if set and accept a project name string over an ID.
Package gitlab is an internal wrapper for the go-gitlab package Most functions serve to expose debug logging if set and accept a project name string over an ID.

Jump to

Keyboard shortcuts

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