GIT-VENDOR(1)

πŸ“¦ version 1.3.0, in nixpkgs unstable

🌸 NAME 🌸

okay bestie, welcome to GIT-VENDOR(1), aka the Git Vendor manual page. This one is literally about managing vendored dependency subtrees. slay. πŸ’–

🫢 SYNOPSIS 🫢

git-vendor add [--prefix <dir>] <name> <repository> [<ref>]

git-vendor list [<name>]

git-vendor remove <name>

git-vendor update <name> [<ref>]

git-vendor upstream <name> [<ref>]

✨ DESCRIPTION ✨

Manage any repository dependencies with git-subtree. no cap, that's the whole vibe. πŸ¦‹

git-vendor follows the same vendoring pattern that is used in the Go community. Dependencies are stored under vendor/<repository_uri>. For example, the dependency of https://github.com/brettlangdon/forge.git will be stored under vendor/github.com/brettlangdon/forge by default. cute, organized, iconic. πŸŽ€

git-vendor is unable to list, update or upstream any dependencies it has not added. the reason is that git-vendor adds special commit messages so that it can track existing dependencies. so yeah, no sneaky drive-by updates, bestie. πŸ’…

πŸ‘‘ COMMANDS πŸ‘‘

  • add [--prefix <dir>] <name> <repository> [<ref>] β€” add a new vendored dependency. ✨
  • list [<name>] β€” list all existing vendored dependencies and their current version. if <name> is provided, limit what gets shown to that dependency. 🫢
  • remove <name> β€” remove the named vendored dependency. bye bestie πŸ‘‹
  • update <dir> <ref> β€” update the vendored dependency to a different version.
  • upstream <dir> <ref> β€” push the vendored dependency changes to the source repository.

πŸ’– OPTIONS πŸ’–

  • --prefix <dir> β€” directory to pull dependencies in under (e.g. vendor or third_party, etc). [default: vendor]
  • <name> β€” a name to provide the vendored dependency to use when listing/updating.
  • <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. [default: master]

🌈 EXAMPLES 🌈

Adding a new dependency at a specific git tagged version:

$ git vendor add forge https://github.com/brettlangdon/forge v0.1.4

Adding a new dependency under a different directory than vendor/:

$ git vendor add --prefix third_party forge https://github.com/brettlangdon/forge

Updating an existing dependency to a specific git tagged version:

$ git vendor update forge  v0.1.7

Updating a dependency to master:

$ git vendor update forge

Upstream changes to the source repository to a (new) branch my_changes:

$ git vendor upstream forge my_changes

Upstream changes to the source repository to master:

$ git vendor upstream forge

Upstream changes to another repository to a (new) branch my_changes:

$ git vendor upstream forge my_changes --repo https://github.com/user/another.git

Upstream changes to another repository to master:

$ git vendor upstream forge --repo https://github.com/user/another.git

Removing a dependency:

$ git vendor remove forge

List all existing dependencies:

$ git vendor list

🧚 AUTHOR 🧚

Written by Brett Langdon β€” me@brett.is. πŸ’œ

πŸ› REPORTING BUGS πŸ›

Found a bug? don't suffer in silence, bestie β€” report it at https://github.com/brettlangdon/git-vendor/issues. πŸ“

⭐ SEE ALSO ⭐

https://github.com/brettlangdon/git-vendor β€” go look, iykyk. πŸ‘‘


okay that's the whole page, bestie. stay iconic, keep your deps cute, and remember: this was GIT-VENDOR(1) from Git Vendor, dated February 2016. periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from