Skip to content

Commit

Permalink
Merge pull request #72 from jacebrowning/release/v0.6
Browse files Browse the repository at this point in the history
Release v0.6
  • Loading branch information
jacebrowning committed Nov 13, 2015
2 parents 03f4f30 + a35cd7e commit 15b9ae8
Show file tree
Hide file tree
Showing 19 changed files with 524 additions and 252 deletions.
40 changes: 23 additions & 17 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
Revision History
================

0.6 (2015/11/13)
----------------

- Added the ability to filter the dependency list on `install` and `update`
- Added `--depth` option to limit dependency traversal on `install`, `update`, and `list`

0.5 (2015/10/20)
----------------

- Added Git plugin support via: `git deps`.
- Removed '--no-clean' option (now the default) on 'install' and 'update'.
- Added '--clean' option to delete ignored files on 'install' and 'update'.
- Switched to 'install' rather than 'update' of nested dependencies.
- Added '--all' option on 'update' to update all nested dependencies.
- Disabled warnings when running 'install' without locked sources.
- Added '--no-lock' option to disable version recording.
- Removed `--no-clean` option (now the default) on `install` and `update`.
- Added `--clean` option to delete ignored files on `install` and `update`.
- Switched to `install` rather than `update` of nested dependencies.
- Added `--all` option on `update` to update all nested dependencies.
- Disabled warnings when running `install` without locked sources.
- Added `--no-lock` option to disable version recording.

0.4.2 (2015/10/18)
------------------
Expand All @@ -25,11 +31,11 @@ Revision History
0.4 (2015/09/18)
----------------

- Replaced 'install' command with 'update'.
- Updated 'install' command to use locked dependency versions.
- Now sorting sources after a successful 'update'.
- Now requiring '--force' to 'uninstall' with uncommitted changes.
- Updated 'list' command to show full shell commands.
- Replaced `install` command with `update`.
- Updated `install` command to use locked dependency versions.
- Now sorting sources after a successful `update`.
- Now requiring `--force` to `uninstall` with uncommitted changes.
- Updated `list` command to show full shell commands.

0.3.1 (2015/09/09)
------------------
Expand All @@ -39,13 +45,13 @@ Revision History
0.3 (2015/06/26)
----------------

- Added '--no-clean' option to disable removing untracked files.
- Added `--no-clean` option to disable removing untracked files.
- Added support for `rev-parse` dates as the dependency `rev`.

0.2.5 (2015/06/15)
------------------

- Added '--quiet' option to hide warnings.
- Added `--quiet` option to hide warnings.

0.2.4 (2015/05/19)
------------------
Expand All @@ -66,12 +72,12 @@ Revision History
------------------

- Added automatic remote branch tracking in dependencies.
- Now requiring '--force' when there are untracked files.
- Now requiring `--force` when there are untracked files.

0.2 (2015/03/10)
----------------

- Added 'list' command to display current URLs/SHAs.
- Added `list` command to display current URLs/SHAs.

0.1.4 (2014/02/27)
------------------
Expand All @@ -86,10 +92,10 @@ Revision History
0.1.2 (2014/02/27)
------------------

- Added '--force' argument to:
- Added `--force` argument to:
- overwrite uncommitted changes
- create symbolic links in place of directories
- Added live shell command output with '-vv' argument.
- Added live shell command output with `-vv` argument.

0.1 (2014/02/24)
----------------
Expand Down
6 changes: 0 additions & 6 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,6 @@

Git Dependency Manager (GDM) is a language-agnostic "dependency manager" using Git. It aims to serve as a submodules replacement and provides advanced options for managing versions of nested Git repositories.

[![Build Status](https://travis-ci.org/jacebrowning/gdm.svg?branch=develop)](https://travis-ci.org/jacebrowning/gdm)
[![Coverage Status](http://img.shields.io/coveralls/jacebrowning/gdm/master.svg)](https://coveralls.io/r/jacebrowning/gdm)
[![Scrutinizer Code Quality](http://img.shields.io/scrutinizer/g/jacebrowning/gdm.svg)](https://scrutinizer-ci.com/g/jacebrowning/gdm/?branch=master)
[![PyPI Version](http://img.shields.io/pypi/v/GDM.svg)](https://pypi.python.org/pypi/GDM)
[![PyPI Downloads](http://img.shields.io/pypi/dm/GDM.svg)](https://pypi.python.org/pypi/GDM)

## Requirements

* Python 3.3+
Expand Down
33 changes: 19 additions & 14 deletions docs/interfaces/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,42 +7,47 @@ All of the [command-line interface](cli.md) functionality is available from the
To clone/checkout the specified dependencies, call:

```python
gdm.install(root=None, force=False, clean=True)
gdm.install(*names, root=None, depth=None, force=False, clean=True)
```

where optional arguments:
with optional arguments:

- `*names`: optional list of dependency directory names to filter on
- `root`: specifies the path to the root working tree
- `force`: indicates that uncommitted changes can be overwritten
- `clean`: causes all untracked files to be deleted from dependencies
- `depth`: number of levels of dependencies to traverse
- `force`: indicates uncommitted changes can be overwritten
- `clean`: indicates untracked files should be deleted from dependencies

## Update

If any of the dependencies track a branch (rather than a specific commit), the current upstream version of that branch can be checked out by calling:

```python
gdm.update(root=None, recurse=False, force=False, clean=True, lock=True)
gdm.update(*names, root=None, depth=None, recurse=False, force=False, clean=True, lock=True)
```

where optional arguments:
with optional arguments:

- `*names`: optional list of dependency directory names to filter on
- `root`: specifies the path to the root working tree
- `recurse`: indicates that nested dependencies should also be updated
- `force`: indicates that uncommitted changes can be overwritten
- `clean`: causes all untracked files to be deleted from dependencies
- `lock`: causes the actual dependency versions to be recorded for future installs
- `depth`: number of levels of dependencies to traverse
- `recurse`: indicates nested dependencies should also be updated
- `force`: indicates uncommitted changes can be overwritten
- `clean`: indicates untracked files should be deleted from dependencies
- `lock`: indicates actual dependency versions should be recorded

## List

To display the currently checked out dependencies, call:

```python
gdm.list(root=None, allow_dirty=True)
gdm.list(root=None, depth=None, allow_dirty=True)
```

where optional arguments:
with optional arguments:

- `root`: specifies the path to the root working tree
- `depth`: number of levels of dependencies to traverse
- `allow_dirty`: causes uncommitted changes to be ignored

## Uninstall
Expand All @@ -53,7 +58,7 @@ To delete all source dependencies, call:
gdm.uninstall(root=None, force=False)
```

where optional arguments:
with optional arguments:

- `root`: specifies the path to the root working tree
- `force`: indicates that uncommitted changes can be overwritten
- `force`: indicates uncommitted changes can be overwritten
18 changes: 15 additions & 3 deletions docs/interfaces/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,19 @@ To clone/checkout the specified dependencies, run:
gdm install
```

or filter the dependency list by directory name:

```sh
gdm install <dir1> <dir2> <etc.>
```

Delete all untracked files in dependencies by instead running:

```sh
gdm install --clean
```

GDM will exit with an error if there are any uncommitted changes in dependencies. To overwrite all changes, run:
The program will exit with an error if there are any uncommitted changes in dependencies. To overwrite all changes, run:

```sh
gdm install --force
Expand All @@ -30,13 +36,19 @@ If any of the dependencies track a branch (rather than a specific commit), the c
gdm update
```

or filter the dependency list by directory name:

```sh
gdm update <dir1> <dir2> <etc.>
```

This will also record the exact versions that were checked out. Disable this behavior by instead running:

```sh
gdm update --no-lock
```

Or, to additionally get the latest versions of all nested dependencies, run:
or to additionally get the latest versions of all nested dependencies, run:

```sh
gdm update --all
Expand All @@ -56,7 +68,7 @@ To display the currently checked out dependencies, run:
gdm list
```

Exit with an error if there are any uncommitted changes by instead running:
or exit with an error if there are any uncommitted changes:

```sh
gdm list --no-dirty
Expand Down
8 changes: 4 additions & 4 deletions docs/use-cases/submodules.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ While Git [submodules](http://git-scm.com/docs/git-submodule) are an obvious cho
When managing a single dependency using submodules, there will be two items in your working tree with special meaning. The `.gitmodules` file, which contains submodule configuration, and semi-ignored directory containing the checked out dependency:

```sh
<root>/vendor/my_dependency # submodule at: a5fe3d
<root>/vendor/my_dependency # submodule at: a943a702d06f34599aee1f8da8ef9f7296031d69
```

Using Git in the outer working tree will essentially ignore the contents of the nested working tree, but will still complain if there are changes locally or the submodule's origin has changes.
Expand All @@ -19,9 +19,9 @@ To get the same behavior using GDM, first delete the `.gitmodules` file and crea
```yaml
location: .gdm
sources:
- repo: <URL of my_dependenc's repository>
- repo: <URL of my_dependency's repository>
dir: my_dependency
rev: a5fe3d
rev: a943a702d06f34599aee1f8da8ef9f7296031d69
link: vendor/my_depenendy
```

Expand All @@ -31,7 +31,7 @@ Add `.gdm` to your `.gitignore` file and overwrite the old submodule location by
gdm install --force
```

Now `<root>/vendor/my_dependency` will be a symbolic link that points to an ignored working tree of `my_dependency` at revision `a5fe3d`.
Now `<root>/vendor/my_dependency` will be a symbolic link that points to an ignored working tree of `my_dependency` at revision `a943a7`.

### Getting Dependencies

Expand Down
2 changes: 1 addition & 1 deletion gdm/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import sys

__project__ = 'GDM'
__version__ = '0.5'
__version__ = '0.6'

CLI = 'gdm'
PLUGIN = 'deps'
Expand Down

0 comments on commit 15b9ae8

Please sign in to comment.