Hi,
the path context manager seems to fail when trying to append path on FreeBSD/csh containing unescaped characters like $, ~ and .. It also seems to add unneeded extra quotes.
E.g., with bower installed locally:
...
@task
def staging()
...
env.directory = '~/'
env.venv_activate = 'bin/activate.csh'
env.venv = env.directory + 'venv/'
env.use_shell = False
env.add_to_path = [
env.directory + 'node_modules/bower/bin',
env.directory + 'node_modules/uglifyjs/bin',
env.directory + 'node_modules/yuglify/bin',
]
...
@task
def deploy()
with cd(env.directory), prefix('source ' + env.venv + env.venv_activate), path(":".join(env.add_to_path)):
env.run('npm install')
env.run('bower install')
...
fab staging deploy
returns
[freebsd] run: npm install
[freebsd] out: Bad : modifier in $ (").
[freebsd] out:
Fatal error: run() received nonzero return code 1 while executing!
Requested: npm install
Executed: cd ~/ && source ~/venv/bin/activate.csh && export PATH="$PATH:"~/node_modules/bower/bin/:~/node_modules/yuglify/bin/:~/node_modules/uglify-js/bin/"" && npm install
also export is probably not working anyway in csh, should be setenv I think.
Hi,
the path context manager seems to fail when trying to append path on FreeBSD/csh containing unescaped characters like
$,~and.. It also seems to add unneeded extra quotes.E.g., with bower installed locally:
fab staging deployreturns
also
exportis probably not working anyway in csh, should besetenvI think.