lab is a command line tool that wrap git
in order to extend it with extra features and commands that make working with GitLab easier.
$ git lab clone numa08/dejiko
# extends to:
$ git clone git://${gitlab.url}/numa08/dejiko.git
With go-lang already installed:
$ brew install libgit2
$ go get gopkg.in/libgit2/git2go.v22
$ go get github.com/plouc/go-gitlab-client
$ go get github.com/codegangsta/cli
$ make build
Finally, move build/git-lab
somewhere in $PATH.
There is an aur package called git-gitlab.
Set the value of Gitlab-url and token.
$ git config --global gitlab.url http://gitlab.example.com
$ git config --global gitlab.token GITLAB_SECRET_TOKEN
then, set gitlab namespace and project.
$ git config gitlab.project [NAMESPACE]/[PROJECT]
$ git lab clone numa08/dejiko
> git clone git://{gitlab.url}/numa08/dejiko
$ git lab clone -p numa08/dejiko
> git clone git@{gitlab.url}/:numa08/dejiko
$ git lab merge-request -b basebranch -h headbranch
>open text editor to edit title and body
>open pull request on GitLab
$ git merge-request -b forked:branch -h origin:branch -m "Fix issue #xxx"
$ git lab merge [MERGE_REQUEST_ID]
$ git lab show -- issue/10
> open http://gitlab.example.com/NAMESPACE/PROJECT/issues/10