• Stars
    star
    248
  • Rank 163,560 (Top 4 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 9 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Git command for managing git vendored dependencies

git-vendor

A git command for managing vendored dependencies.

git-vendor is a wrapper around git-subtree commands for checking out and updating vendored dependencies.

By default git-vendor conforms to the pattern used for vendoring golang dependencies:

  • Dependencies are stored under vendor/ directory in the repo.
  • Dependencies are stored under the fully qualified project path.
    • e.g. https://github.com/brettlangdon/forge will be stored under vendor/github.com/brettlangdon/forge.

Usage

See https://brettlangdon.github.io/git-vendor for the current MAN page documentation.

git-vendor provides the following commands:

  • git vendor add [--prefix <dir>] <name> <repository> [<ref>] - add a new vendored dependency.
  • git vendor list [<name>] - list current vendored dependencies, their source, and current vendored ref.
  • git vendor update <name> [<ref>] - update a vendored dependency.
  • git vendor upstream <name> [<ref>] [--repo <repository>] - share with the upstream vendored dependency.

Installation

Manually:

git clone https://github.com/brettlangdon/git-vendor
cd ./git-vendor
make

One-liner:

curl -sSL https://git.io/vzN5m | sudo bash /dev/stdin

Homebrew (thanks to @liamstask):

brew install git-vendor

Example

$ # Checkout github.com/brettlangdon/[email protected] under vendor/github.com/brettlangdon/forge
$ git vendor add forge https://github.com/brettlangdon/forge v0.1.6
+ git subtree add --prefix vendor/github.com/brettlangdon/forge --message 'Add "forge" from "https://github.com/brettlangdon/[email protected]"

git-vendor-name: forge
git-vendor-dir: vendor/github.com/brettlangdon/forge
git-vendor-repository: https://github.com/brettlangdon/forge
git-vendor-ref: v0.1.6
' https://github.com/brettlangdon/forge v0.1.6 --squash
git fetch https://github.com/brettlangdon/forge v0.1.6
warning: no common commits
remote: Counting objects: 405, done.
remote: Total 405 (delta 0), reused 0 (delta 0), pack-reused 404
Receiving objects: 100% (405/405), 68.31 KiB | 0 bytes/s, done.
Resolving deltas: 100% (227/227), done.
From https://github.com/brettlangdon/forge
 * tag               v0.1.6     -> FETCH_HEAD
Added dir 'vendor/github.com/brettlangdon/forge'

$ # List current vendored dependencies
$ git vendor list
[email protected]:
	name:	forge
	dir:	vendor/github.com/brettlangdon/forge
	repo:	https://github.com/brettlangdon/forge
	ref:	v0.1.6
	commit:	3335840c5f0ad9e821006588f1b16a3385d9c318

$ # Update existing dependency to a newer version
$ git vendor update forge v0.1.7
From https://github.com/brettlangdon/forge
 * tag               v0.1.7     -> FETCH_HEAD
Merge made by the 'recursive' strategy.
 vendor/github.com/brettlangdon/forge/forge_test.go | 2 ++
 vendor/github.com/brettlangdon/forge/scanner.go    | 4 ++++
 vendor/github.com/brettlangdon/forge/test.cfg      | 1 +
 3 files changed, 7 insertions(+)

$ # List current vendored dependencies
$ git vendor list
[email protected]:
	name:	forge
	dir:	vendor/github.com/brettlangdon/forge
	repo:	https://github.com/brettlangdon/forge
	ref:	v0.1.7
	commit:	071c5f108e0af39bf67a87fc766ea9bfb72b9ee7

More Repositories

1

jsnice

Command line interface to http://jsnice.org.
JavaScript
270
star
2

forge

Configuration file syntax and parsing for golang
Go
110
star
3

node-dogapi

Datadog API Node.JS Client
JavaScript
103
star
4

NodeLua

Lua Bindings For Node.JS
C++
86
star
5

flask-env

Easily set Flask settings from environment variables
Python
35
star
6

importhook

Python package for executing functions when packages are imported
JavaScript
25
star
7

jsfmt.el

emacs plugin to run jsfmt
Emacs Lisp
13
star
8

node-units

A extensible unit conversion library for Node.JS
JavaScript
12
star
9

node-kestrel

Kestrel client module for NodeJS
JavaScript
12
star
10

greenrpc

TCP & HTTP RPC Servers built on msgpack and gevent
Python
12
star
11

tommygun

HTTP Benchmarking Tool Written In Node.JS
JavaScript
10
star
12

tracking-server-examples

Code examples to follow along with http://brett.is/writing/about/third-party-tracking-pixels/
Python
8
star
13

go-dom

Web API package for use when compling Go to WASM
Go
8
star
14

qw

qw (QueueWorker) - python library for processing a redis list as a work queue
Python
7
star
15

node-wgdb

Bindings for WhiteDB for Node.JS
C++
7
star
16

sysaudit

Backport module for sys.audit and sys.addaudithook mechanism
Python
6
star
17

Programming-In-General

A language agnostic book on programming.
Python
6
star
18

tend

CLI Tool to run a command when files in a directory have changed
JavaScript
6
star
19

firestore-autocomplete

Example application using Firebase Firestore for autocomplete.
JavaScript
6
star
20

gython

Python 3 interpreter in Go
Go
5
star
21

sleuth

Simple JavaScript metrics beacon library
JavaScript
5
star
22

pypihub

pip compatible server to serve Python packages out of GitHub
Go
4
star
23

riakcached

A memcache like client for Riak
Python
3
star
24

jsonstream

Utility to interact with a stream of newline delimited JSON
Go
3
star
25

Continuous

Event based interface to setTimeout and setInterval.
JavaScript
3
star
26

ferrite

A very fast kyoto cabinet powered memcache interface http proxy caching server.
Go
3
star
27

flume-kestrel

Kestrel plugin for Flume.
Java
3
star
28

docast

Generate docs from javascript source via AST parsing
JavaScript
2
star
29

flask-defer

Flask extension to help register functions to run at the end of the current request.
Python
2
star
30

node-response-codes

Node module that extends http.ServerResponse to include status code functions.
JavaScript
2
star
31

ledger

Ledger is an event based NodeJS module used for logging events to stdout, files or MongoDB.
JavaScript
2
star
32

brett.is

My personal blog
CSS
2
star
33

cmdsrv

A simple text protocol server.
JavaScript
2
star
34

v8type

Expose V8 C++ type checking to JS
C++
2
star
35

caddydogstatsd

Datadog dogstatsd middleware plugin for Caddy.
Go
2
star
36

buildparser

Python package for parsing a build spec(s) from a config file
Python
1
star
37

flume-rabbitmq

RabbitMQ Sink Plugin for Cloudera's Flume v0.9.4
Java
1
star
38

franz

Franz is a Kafka Client for Node.JS that includes support for Zookeeper
C++
1
star
39

yaps

Yet Another Plugin Server
JavaScript
1
star
40

github-keys

Host GitHub user public keys
Go
1
star
41

virtualmod

Python package for creating and importing virtual modules.
Python
1
star
42

realm

A simple non-recursive DNS server written in Go.
Go
1
star
43

flume-hornetq

HornetQ Sink plugin for Flume.
1
star