mirror of
1
0
Fork 0

Merge branch 'qubidt/default-link-conditional'

This commit is contained in:
Anish Athalye 2018-11-19 20:38:59 -05:00
commit b35462ab95
2 changed files with 24 additions and 4 deletions

View File

@ -30,12 +30,10 @@ class Link(dotbot.Plugin):
relink = defaults.get('relink', False)
create = defaults.get('create', False)
use_glob = defaults.get('glob', False)
test = defaults.get('if', None)
if isinstance(source, dict):
# extended config
test = source.get('if')
if test is not None and not self._test_success(test):
self._log.lowinfo('Skipping %s' % destination)
continue
test = source.get('if', test)
relative = source.get('relative', relative)
force = source.get('force', force)
relink = source.get('relink', relink)
@ -44,6 +42,9 @@ class Link(dotbot.Plugin):
path = self._default_source(destination, source.get('path'))
else:
path = self._default_source(destination, source)
if test is not None and not self._test_success(test):
self._log.lowinfo('Skipping %s' % destination)
continue
path = os.path.expandvars(os.path.expanduser(path))
if use_glob:
self._log.debug("Globbing with path: " + str(path))

View File

@ -30,3 +30,22 @@ grep "apple" ~/.f &&
grep "apple" ~/.h &&
! test -f ~/.i
'
test_expect_success 'run 2' '
run_dotbot <<EOF
- defaults:
link:
if: "false"
- link:
~/.j:
path: f
if: "true"
~/.k:
path: f
EOF
'
test_expect_success 'test 2' '
grep "apple" ~/.j &&
! test -f ~/.k
'