A very basic language-agnostic "dependency manager" using Git.
Project description
Getting Started
Requirements
Python 3.3+
Latest version of Git (with stored credentials)
OSX/Linux (with a decent shell for Git)
Installation
GDM can be installed with pip:
$ pip3 install gdm
or directly from the source code:
$ git clone https://github.com/jacebrowning/gdm.git $ cd gdm $ python3 setup.py install
Setup
Create a GDM configuration file (gdm.yml or .gdm.yml) in the root of your working tree:
location: .gdm
sources:
- repo: https://github.com/kstenerud/iOS-Universal-Framework
dir: framework
rev: Mk5-end-of-life
- repo: https://github.com/jonreid/XcodeCoverage
dir: coverage
rev: master
link: Tools/XcodeCoverage
Ignore GDM’s dependency storage location:
$ echo .gdm >> .gitignore
Basic Usage
Get the specified versions of all dependencies:
$ gdm install
which will essentially:
create a working tree at root/location/dir
fetch from repo and checkout the specified rev
symbolicly link each location/dir from root/link (optional)
repeat for all nested working trees containing a configuration file
where rev can be:
all or part of a commit SHA: 123def
a tag: v1.0
a branch: master
a rev-parse date: 'develop@{2015-06-18 10:30:59}'
To display the specific versions installed:
$ gdm list
To remove all installed dependencies:
$ gdm uninstall
Revision History
0.3 (2015/06/26)
Add ‘–no-clean’ option to disable removing untracked files.
Add support for rev-parse dates as the dependency rev.
0.2.5 (2015/06/15)
Hide warnings with ‘–quiet’ option.
0.2.4 (2015/05/19)
Hide YORM logging bellow warnings.
0.2.3 (2015/05/17)
Upgrade to YORM v0.4
0.2.2 (2015/05/04)
Require YORM < v0.4
0.2.1 (2015/03/12)
Automatically track dependencies that are on branches.
Require ‘–force’ when there are untracked files.
0.2 (2015/03/10)
Added ‘list’ command to display current URLs/SHAs.
0.1.4 (2014/02/27)
Fixed an outdated index when checking for changes.
0.1.3 (2014/02/27)
Fixed extra whitespace when logging shell output.
0.1.2 (2014/02/27)
- Added ‘–force’ argument to:
overwrite uncommitted changes
create symbolic links in place of directories
Added live shell command output with ‘-vv’ argument.
0.1 (2014/02/24)
Initial release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.