| @ -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>> | |||||