| @ -0,0 +1,79 @@ | |||
| # Majority of this script was borrowed from git-extra: | |||
| # https://github.com/tj/git-extras/blob/98d0d8c642ea2643f513bc41fcb9dd3078cf2e59/Makefile | |||
| PREFIX ?= /usr/local | |||
| BINPREFIX ?= "$(PREFIX)/bin" | |||
| MANPREFIX ?= "$(PREFIX)/share/man/man1" | |||
| SYSCONFDIR ?= $(PREFIX)/etc | |||
| BINS = $(wildcard bin/git-*) | |||
| MANS = $(wildcard man/git-*.md) | |||
| MAN_HTML = $(MANS:.md=.html) | |||
| MAN_PAGES = $(MANS:.md=.1) | |||
| COMMANDS = $(subst bin/, , $(BINS)) | |||
| default: install | |||
| docs: $(MAN_HTML) $(MAN_PAGES) | |||
| install: | |||
| @mkdir -p $(DESTDIR)$(MANPREFIX) | |||
| @mkdir -p $(DESTDIR)$(BINPREFIX) | |||
| @echo "... installing bins to $(DESTDIR)$(BINPREFIX)" | |||
| @echo "... installing man pages to $(DESTDIR)$(MANPREFIX)" | |||
| $(eval TEMPFILE := $(shell mktemp -q $${TMPDIR:-/tmp}/git-vendor.XXXXXX 2>/dev/null || mktemp -q)) | |||
| @# chmod from rw-------(default) to rwxrwxr-x, so that users can exec the scripts | |||
| @chmod 775 $(TEMPFILE) | |||
| $(eval EXISTED_ALIASES := $(shell \ | |||
| git config --get-regexp 'alias.*' | awk '{print "git-" substr($$1, 7)}')) | |||
| @$(foreach COMMAND, $(COMMANDS), \ | |||
| disable=''; \ | |||
| if test ! -z "$(filter $(COMMAND), $(EXISTED_ALIASES))"; then \ | |||
| read -p "$(COMMAND) conflicts with an alias, still install it and disable the alias? [y/n]" answer; \ | |||
| test "$$answer" = 'n' -o "$$answer" = 'N' && disable="true"; \ | |||
| fi; \ | |||
| if test -z "$$disable"; then \ | |||
| echo "... installing $(COMMAND)"; \ | |||
| cat bin/$(COMMAND) > $(TEMPFILE); \ | |||
| cp -f $(TEMPFILE) $(DESTDIR)$(BINPREFIX)/$(COMMAND); \ | |||
| fi; \ | |||
| ) | |||
| @if [ -z "$(wildcard man/git-*.1)" ]; then \ | |||
| echo "WARNING: man pages not created, use 'make docs' (which requires 'ronn' ruby lib)"; \ | |||
| else \ | |||
| cp -f man/git-*.1 $(DESTDIR)$(MANPREFIX); \ | |||
| echo "cp -f man/git-*.1 $(DESTDIR)$(MANPREFIX)"; \ | |||
| fi | |||
| @mkdir -p $(DESTDIR)$(SYSCONFDIR)/bash_completion.d | |||
| cp -f etc/bash_completion.sh $(DESTDIR)$(SYSCONFDIR)/bash_completion.d/git-vendor | |||
| man/%.html: man/%.md | |||
| ronn \ | |||
| --manual "Git Vendor" \ | |||
| --html \ | |||
| --pipe \ | |||
| $< > $@ | |||
| man/%.1: man/%.md | |||
| ronn -r \ | |||
| --manual "Git Vendor" \ | |||
| --pipe \ | |||
| $< > $@ | |||
| uninstall: | |||
| @$(foreach BIN, $(BINS), \ | |||
| echo "... uninstalling $(DESTDIR)$(BINPREFIX)/$(notdir $(BIN))"; \ | |||
| rm -f $(DESTDIR)$(BINPREFIX)/$(notdir $(BIN)); \ | |||
| ) | |||
| @$(foreach MAN, $(MAN_PAGES), \ | |||
| echo "... uninstalling $(DESTDIR)$(MANPREFIX)/$(notdir $(MAN))"; \ | |||
| rm -f $(DESTDIR)$(MANPREFIX)/$(notdir $(MAN)); \ | |||
| ) | |||
| rm -f $(DESTDIR)$(SYSCONFDIR)/bash_completion.d/git-vendor | |||
| clean: docclean | |||
| docclean: | |||
| rm -f man/*.1 | |||
| rm -f man/*.html | |||
| .PHONY: default docs clean docclean install uninstall | |||
| @ -0,0 +1,4 @@ | |||
| _git_vendor() | |||
| { | |||
| __gitcomp "add list update" | |||
| } | |||
| @ -0,0 +1,106 @@ | |||
| .\" generated with Ronn/v0.7.3 | |||
| .\" http://github.com/rtomayko/ronn/tree/0.7.3 | |||
| . | |||
| .TH "GIT\-VENDOR" "1" "January 2016" "" "" | |||
| . | |||
| .SH "NAME" | |||
| \fBgit\-vendor\fR \- manage vendored dependency subtrees | |||
| . | |||
| .SH "SYNOPSIS" | |||
| \fBgit\-vendor add <repository> <ref>\fR | |||
| . | |||
| .P | |||
| \fBgit\-vendor list\fR | |||
| . | |||
| .P | |||
| \fBgit\-vendor update <dir> <ref>\fR | |||
| . | |||
| .SH "DESCRIPTION" | |||
| Manage any repository dependencies under \fB/vendor/<repository>\fR with \fBgit\-subtree\fR\. | |||
| . | |||
| .P | |||
| \fBgit\-vendor\fR is unable to \fBlist\fR or \fBupdate\fR any dependencies it has not added, the reason is that \fBgit\-vendor\fR adds special commit messages so that it can track existing dependencies\. | |||
| . | |||
| .SH "COMMANDS" | |||
| add <repository> <ref> | |||
| . | |||
| .P | |||
| Add a new vendored dependency | |||
| . | |||
| .P | |||
| list | |||
| . | |||
| .P | |||
| List all existing vendored dependencies and their current version | |||
| . | |||
| .P | |||
| update <dir> <ref> | |||
| . | |||
| .P | |||
| Update the vendored dependency to a different version | |||
| . | |||
| .SH "OPTIONS" | |||
| <repository> | |||
| . | |||
| .P | |||
| The repository url to vendor\. e\.g\. \fBhttps://github\.com/<username>/<repo\-name>\fR (supports \fBhttp://\fR, \fBhttps://\fR \fBgit://\fR and \fBgit@\fR protocols)\. | |||
| . | |||
| .P | |||
| <ref> | |||
| . | |||
| .P | |||
| The ref to vendor\. e\.g\. \fBmaster\fR, \fBv1\.0\.2\fR, etc | |||
| . | |||
| .P | |||
| <dir> | |||
| . | |||
| .P | |||
| The vendor directory for the dependency\. e\.g\. \fBvendor/github\.com/<username>/<repo\-name>\fR\. | |||
| . | |||
| .SH "EXAMPLES" | |||
| Adding a new dependency: | |||
| . | |||
| .IP "" 4 | |||
| . | |||
| .nf | |||
| $ git vendor add https://github\.com/brettlangdon/forge v0\.1\.4 | |||
| . | |||
| .fi | |||
| . | |||
| .IP "" 0 | |||
| . | |||
| .P | |||
| Updating an existing dependency: | |||
| . | |||
| .IP "" 4 | |||
| . | |||
| .nf | |||
| $ git vendor update vendor/github\.com/brettlangdon/forge v0\.1\.7 | |||
| . | |||
| .fi | |||
| . | |||
| .IP "" 0 | |||
| . | |||
| .P | |||
| List all existing dependencies: | |||
| . | |||
| .IP "" 4 | |||
| . | |||
| .nf | |||
| $ git vendor list | |||
| . | |||
| .fi | |||
| . | |||
| .IP "" 0 | |||
| . | |||
| .SH "AUTHOR" | |||
| Written by Brett Langdon \fIme@brett\.is\fR | |||
| . | |||
| .SH "REPORTING BUGS" | |||
| <\fIhttps://github\.com/brettlangdon/git\-vendor/issues\fR> | |||
| . | |||
| .SH "SEE ALSO" | |||
| <\fIhttps://github\.com/brettlangdon/git\-vendor\fR> | |||
| @ -0,0 +1,158 @@ | |||
| <!DOCTYPE html> | |||
| <html> | |||
| <head> | |||
| <meta http-equiv='content-type' value='text/html;charset=utf8'> | |||
| <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'> | |||
| <title>git-vendor(1) - manage vendored dependency subtrees</title> | |||
| <style type='text/css' media='all'> | |||
| /* style: man */ | |||
| body#manpage {margin:0} | |||
| .mp {max-width:100ex;padding:0 9ex 1ex 4ex} | |||
| .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0} | |||
| .mp h2 {margin:10px 0 0 0} | |||
| .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex} | |||
| .mp h3 {margin:0 0 0 4ex} | |||
| .mp dt {margin:0;clear:left} | |||
| .mp dt.flush {float:left;width:8ex} | |||
| .mp dd {margin:0 0 0 9ex} | |||
| .mp h1,.mp h2,.mp h3,.mp h4 {clear:left} | |||
| .mp pre {margin-bottom:20px} | |||
| .mp pre+h2,.mp pre+h3 {margin-top:22px} | |||
| .mp h2+pre,.mp h3+pre {margin-top:5px} | |||
| .mp img {display:block;margin:auto} | |||
| .mp h1.man-title {display:none} | |||
| .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143} | |||
| .mp h2 {font-size:16px;line-height:1.25} | |||
| .mp h1 {font-size:20px;line-height:2} | |||
| .mp {text-align:justify;background:#fff} | |||
| .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211} | |||
| .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201} | |||
| .mp u {text-decoration:underline} | |||
| .mp code,.mp strong,.mp b {font-weight:bold;color:#131211} | |||
| .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none} | |||
| .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff} | |||
| .mp b.man-ref {font-weight:normal;color:#434241} | |||
| .mp pre {padding:0 4ex} | |||
| .mp pre code {font-weight:normal;color:#434241} | |||
| .mp h2+pre,h3+pre {padding-left:0} | |||
| ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px} | |||
| ol.man-decor {width:100%} | |||
| ol.man-decor li.tl {text-align:left} | |||
| ol.man-decor li.tc {text-align:center;letter-spacing:4px} | |||
| ol.man-decor li.tr {text-align:right;float:right} | |||
| </style> | |||
| </head> | |||
| <!-- | |||
| The following styles are deprecated and will be removed at some point: | |||
| div#man, div#man ol.man, div#man ol.head, div#man ol.man. | |||
| The .man-page, .man-decor, .man-head, .man-foot, .man-title, and | |||
| .man-navigation should be used instead. | |||
| --> | |||
| <body id='manpage'> | |||
| <div class='mp' id='man'> | |||
| <div class='man-navigation' style='display:none'> | |||
| <a href="#NAME">NAME</a> | |||
| <a href="#SYNOPSIS">SYNOPSIS</a> | |||
| <a href="#DESCRIPTION">DESCRIPTION</a> | |||
| <a href="#COMMANDS">COMMANDS</a> | |||
| <a href="#OPTIONS">OPTIONS</a> | |||
| <a href="#EXAMPLES">EXAMPLES</a> | |||
| <a href="#AUTHOR">AUTHOR</a> | |||
| <a href="#REPORTING-BUGS">REPORTING BUGS</a> | |||
| <a href="#SEE-ALSO">SEE ALSO</a> | |||
| </div> | |||
| <ol class='man-decor man-head man head'> | |||
| <li class='tl'>git-vendor(1)</li> | |||
| <li class='tc'></li> | |||
| <li class='tr'>git-vendor(1)</li> | |||
| </ol> | |||
| <h2 id="NAME">NAME</h2> | |||
| <p class="man-name"> | |||
| <code>git-vendor</code> - <span class="man-whatis">manage vendored dependency subtrees</span> | |||
| </p> | |||
| <h2 id="SYNOPSIS">SYNOPSIS</h2> | |||
| <p><code>git-vendor add <repository> <ref></code></p> | |||
| <p><code>git-vendor list</code></p> | |||
| <p><code>git-vendor update <dir> <ref></code></p> | |||
| <h2 id="DESCRIPTION">DESCRIPTION</h2> | |||
| <p> Manage any repository dependencies under <code>/vendor/<repository></code> with <code>git-subtree</code>.</p> | |||
| <p> <code>git-vendor</code> is unable to <code>list</code> or <code>update</code> any dependencies it has not added, the reason is that <code>git-vendor</code> adds special commit messages so that it can track existing dependencies.</p> | |||
| <h2 id="COMMANDS">COMMANDS</h2> | |||
| <p> add <repository> <ref></p> | |||
| <p> Add a new vendored dependency</p> | |||
| <p> list</p> | |||
| <p> List all existing vendored dependencies and their current version</p> | |||
| <p> update <dir> <ref></p> | |||
| <p> Update the vendored dependency to a different version</p> | |||
| <h2 id="OPTIONS">OPTIONS</h2> | |||
| <p> <repository></p> | |||
| <p> The repository url to vendor. e.g. <code>https://github.com/<username>/<repo-name></code> (supports <code>http://</code>, <code>https://</code> <code>git://</code> and <code>git@</code> protocols).</p> | |||
| <p> <ref></p> | |||
| <p> The ref to vendor. e.g. <code>master</code>, <code>v1.0.2</code>, etc</p> | |||
| <p> <dir></p> | |||
| <p> The vendor directory for the dependency. e.g. <code>vendor/github.com/<username>/<repo-name></code>.</p> | |||
| <h2 id="EXAMPLES">EXAMPLES</h2> | |||
| <p> Adding a new dependency:</p> | |||
| <pre><code>$ git vendor add https://github.com/brettlangdon/forge v0.1.4 | |||
| </code></pre> | |||
| <p> Updating an existing dependency:</p> | |||
| <pre><code>$ git vendor update vendor/github.com/brettlangdon/forge v0.1.7 | |||
| </code></pre> | |||
| <p> List all existing dependencies:</p> | |||
| <pre><code>$ git vendor list | |||
| </code></pre> | |||
| <h2 id="AUTHOR">AUTHOR</h2> | |||
| <p>Written by Brett Langdon <a href="mailto:me@brett.is" data-bare-link="true">me@brett.is</a></p> | |||
| <h2 id="REPORTING-BUGS">REPORTING BUGS</h2> | |||
| <p><<a href="https://github.com/brettlangdon/git-vendor/issues" data-bare-link="true">https://github.com/brettlangdon/git-vendor/issues</a>></p> | |||
| <h2 id="SEE-ALSO">SEE ALSO</h2> | |||
| <p><<a href="https://github.com/brettlangdon/git-vendor" data-bare-link="true">https://github.com/brettlangdon/git-vendor</a>></p> | |||
| <ol class='man-decor man-foot man foot'> | |||
| <li class='tl'></li> | |||
| <li class='tc'>January 2016</li> | |||
| <li class='tr'>git-vendor(1)</li> | |||
| </ol> | |||
| </div> | |||
| </body> | |||
| </html> | |||
| @ -0,0 +1,71 @@ | |||
| git-vendor(1) -- manage vendored dependency subtrees | |||
| ================================ | |||
| ## SYNOPSIS | |||
| `git-vendor add <repository> <ref>` | |||
| `git-vendor list` | |||
| `git-vendor update <dir> <ref>` | |||
| ## DESCRIPTION | |||
| Manage any repository dependencies under `/vendor/<repository>` with `git-subtree`. | |||
| `git-vendor` is unable to `list` or `update` any dependencies it has not added, the reason is that `git-vendor` adds special commit messages so that it can track existing dependencies. | |||
| ## COMMANDS | |||
| add <repository> <ref> | |||
| Add a new vendored dependency | |||
| list | |||
| List all existing vendored dependencies and their current version | |||
| update <dir> <ref> | |||
| Update the vendored dependency to a different version | |||
| ## OPTIONS | |||
| <repository> | |||
| The repository url to vendor. e.g. `https://github.com/<username>/<repo-name>` (supports `http://`, `https://` `git://` and `git@` protocols). | |||
| <ref> | |||
| The ref to vendor. e.g. `master`, `v1.0.2`, etc | |||
| <dir> | |||
| The vendor directory for the dependency. e.g. `vendor/github.com/<username>/<repo-name>`. | |||
| ## EXAMPLES | |||
| Adding a new dependency: | |||
| $ git vendor add https://github.com/brettlangdon/forge v0.1.4 | |||
| Updating an existing dependency: | |||
| $ git vendor update vendor/github.com/brettlangdon/forge v0.1.7 | |||
| List all existing dependencies: | |||
| $ git vendor list | |||
| ## AUTHOR | |||
| Written by Brett Langdon <me@brett.is> | |||
| ## REPORTING BUGS | |||
| <<https://github.com/brettlangdon/git-vendor/issues>> | |||
| ## SEE ALSO | |||
| <<https://github.com/brettlangdon/git-vendor>> | |||