I have a post-receive hook on my git bare repo that excute this fabfile.py:
def deploy():
    print(cyan('Pulling changes to local server'))
    with cd('/var/www')
        local('git pull')
It executes fine, but it shows the output for the local command before the print, like this:
remote: From /media/projetos/repositorios/test
remote:    b057a4b..02d85b3  master     -> origin/master
remote: Updating b057a4b..02d85b3
remote: Fast-forward
remote:  .../test/template/catalog/product/list.phtml     | 98 +++++++++++-----------
remote:  1 file changed, 47 insertions(+), 51 deletions(-)
remote: Pulling changes to local server
If i just ssh on the server and run fab deploy it works normal.
 
    