We are aware of the problem. shell=True is necessery for windows 
compatilibty. This is known issue with Python 2.7.x. We are working on that.

Thanks for your awareness,

W dniu czwartek, 28 lutego 2013 15:06:46 UTC+1 u┼╝ytkownik Jay Lawrence 
napisał:
>
>
>
> On Wednesday, February 27, 2013 5:29:56 PM UTC-5, Jay Lawrence wrote:
>>
>>
>> This is the root cause of the problem entitle "SCMError("Unsupported View 
>> Type" earlier on this board, but appears fundamental enough that I've 
>> started a new thread with a more appropriate title
>>
>> In the scmtools/clearcase.py file, the following idiom is used to invoke 
>> clearcase commands
>>
>>     cmdline = ["cleartool", "lsview", "-full", "-properties", "-cview"]
>>     p = subprocess.Popen(
>>           cmdline,
>>           stdout=subprocess.PIPE,
>>           stderr=subprocess.PIPE,
>>           cwd=repopath,
>>           shell=True)
>>
>>    (res, error) = p.communicate()
>>    failure = p.poll()
>>
>>     if failure:
>>       raise SCMError(error)
>>
>>      for line in res.splitlines(True):
>>         splitted = line.split(' ')
>>         msg = "_get_view line: " + line;
>>         logging.debug(msg);
>>         if splitted[0] == 'Properties:':
>>            if 'snapshot' in splitted:
>>               return self.VIEW_SNAPSHOT
>>            elif 'dynamic' in splitted:
>>               return self.VIEW_DYNAMIC
>>
>>        return self.VIEW_UNKNOWN
>>
>> The issue is with the use of a sequence as the first argument to the 
>> subprocess.popen command
>>
>> On Unix, when a sequence is used as the first argument to popen, when 
>> shell=true is set, the first element of the sequence is treated as the 
>> command. The subsequent arguments are treated as options to the SHELL. This 
>> means that in the command above, only the 'cleartool' command is being 
>> executed.
>>
>> I've seen this at multiple places on the web, most notably: 
>>           
>> http://stackoverflow.com/questions/9231074/pythons-subprocess-popen-results-differ-from-command-line
>>
>> On Linux, the cmdline should be a string, or the full command should be 
>> given as the first argument of the sequence. The following works:
>>
>>    cmdline = ["cleartool lsview -full -properties -cview"]
>>     p = subprocess.Popen(
>>           cmdline,
>>           stdout=subprocess.PIPE,
>>           stderr=subprocess.PIPE,
>>           cwd=repopath,
>>           shell=True)
>>
>>
>>
>>
>>

-- 
Want to help the Review Board project? Donate today at 
http://www.reviewboard.org/donate/
Happy user? Let us know at http://www.reviewboard.org/users/
-~----------~----~----~----~------~----~------~--~---
To unsubscribe from this group, send email to 
reviewboard+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to