fab-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fab-user] Trouble receiving a stdout string from run


From: Neil Clayton
Subject: Re: [Fab-user] Trouble receiving a stdout string from run
Date: Sat, 27 Jul 2013 14:01:51 +1200

Ah. OK.
Could well be multiple repos - indeed. I will check that out and see what I can 
find. Thank you for the informative tips.

N

On 27/07/2013, at 5:49 AM, Jeff Forcier <address@hidden> wrote:

> Hi Neil,
> 
> Notice how Fabric didn't print out anything prefixed with 'out'
> either, before returning control to your inspection code. That means
> that Git really did not spit out any stdout/err when you ran it (and
> that the repo on the "remote" end was not dirty). So that's the
> problem - not run()'s behavior.
> 
> As to why that might be, my guess is if you're really using run() and
> a host list of 'localhost', your home directory is another Git repo
> that is *not* dirty, and perhaps you were expecting it to end up in
> the repo you're running Fabric from (as if you'd used 'local()', for
> example). The default cwd of a run() call is usually the connecting
> user's home dir.
> 
> Best,
> Jeff
> 
> 
> On Wed, Jul 24, 2013 at 10:27 PM, Neil Clayton <address@hidden> wrote:
>> Hi,
>> 
>> I feel like I'm missing something obvious.
>> The docs indicate that the output of a run() command will be a combination 
>> of stdout/err.
>> 
>> I'm executing a 'git status  --porcelain', on a repo with some changes.
>> Nothing however is returned in the task.
>> 
>> e.g:
>> def _is_dirty(ignore_untracked_files=False):
>>    untracked_files = '--untracked-files=no' if ignore_untracked_files else ''
>>    outputFromStatus = run('git status {0} 
>> --porcelain'.format(untracked_files))
>>    print "Got status a {1}, '{0}', stdout: {2}, stderr: 
>> {3}".format(outputFromStatus, type(outputFromStatus), 
>> outputFromStatus.stdout, outputFromStatus.stderr)
>>    abort(blue('ra ra ra'))
>>    return outputFromStatus != ''
>> 
>> 
>> And on the terminal I see:
>> Fetching at folder:/Volumes/Development/Users/neil/Sites/swb/../store/
>> [localhost] run: git status  --porcelain
>> Got status a <class 'fabric.operations._AttributeString'>, '', stdout: , 
>> stderr:
>> 
>> Fatal error: ra ra ra
>> 
>> Aborting.
>> 
>> 
>> Yet if I do this manually:
>> (swb2)wisdom:store neil$ cd 
>> /Volumes/Development/Users/neil/Sites/swb/../store/
>> (swb2)wisdom:store neil$ git-status --porcelain
>> M .idea/workspace.xml
>> M DataObjects/Config.php
>> M pages/config.php
>> (swb2)wisdom:store neil$
>> 
>> 
>> 
>> What am I missing?
>> 
>> 
>> Neil Clayton
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Fab-user mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/fab-user
> 
> 
> 
> -- 
> Jeff Forcier
> Unix sysadmin; Python/Ruby engineer
> http://bitprophet.org




reply via email to

[Prev in Thread] Current Thread [Next in Thread]