2015-09-29 14:02 GMT+02:00 Nicolai Hess <[email protected]>:

>
>
> 2015-09-29 10:14 GMT+02:00 Thierry Goubier <[email protected]>:
>
>>
>> Yes! Thanks!
>>
>> Can you run a makefile under Windows? I can prepare one which calls and
>> loads everything to run the tests for gitfiletree.
>>
>> Or just trying to load something like SmaCC from github...
>>
>> Gofer new url: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo50/main';
>> configurationOf: 'GitFileTree'; loadDevelopment
>>
>> Metacello new baseline: 'SmaCC'; repository: 'gitfiletree://
>> github.com/ThierryGoubier/SmaCC?protocol=https'; load
>>
>> If you manage to get through the SmaCC loading without a crash or a
>> lockup, then it means it nearly certainly works.
>>
>
>
> No, it does not work, in MCFileTreeGitRepository
> class>>#runProcessWrapperGitCommand:in:
> ...
>
>
> (Smalltalk
>         at: #ProcessWrapper
>         ifAbsent: [ self error: 'Please load ProcessWrapper' ])
>         ifNotNil:
>             [ :pW |
>             | command |
>             command := pW new
>                 useStdout;
>                 useStderr;
>                 startWithCommand:
>                     self gitCommand , ' -C "'
>                         ,
>                             (MCFileTreeFileUtils current
> directoryPathString: aDirectory)
>                         , '" ' , aCommandString.
>             r := command upToEnd.
> "<<<<<<<<<<<<-------------------  MNU False>>upToEnd"
> ...
>
> somehow, the command is a boolean false, instead of a ProcessWrapper.
>
>
1. git has to be on the path
2. windows does not understand /usr/bin/git
3. changing the above to

(Smalltalk
        at: #ProcessWrapper
        ifAbsent: [ self error: 'Please load ProcessWrapper' ])
        ifNotNil:
            [ :pW |
            | command |
            command := pW new
                useStdout;
                useStderr;
                startWithCommand:(
                    self gitCommand , ' -C "'
                        ,
                            (MCFileTreeFileUtils current
directoryPathString: aDirectory)
                        , '" ' , aCommandString)
                 yourself.
            r := command upToEnd.

makes it loading the git repository, but crashes afterwards.

(with latest vm, I 'll try again with stable vm)



>
>
>
>>
>> Thierry
>>
>>
>>>
>>>
>>>>
>>>> Am I writing that code correctly? If you see the equivalent code using
>>>> OSProcess[2], you understand that, as GitFileTree is a heavy hitter(*) on
>>>> the external commands framework, I am prepared to work very closely with
>>>> that layer including inside the vm plugin code (and David T Lewis helped me
>>>> a lot to fix random lockups we had).
>>>>
>>>> Thierry
>>>>
>>>> (*) Running the gitfiletree integration tests launches probably over a
>>>> hundred external commands in quick succession.
>>>>
>>>> [1]
>>>> https://github.com/dalehenrich/filetree/blob/pharo5.0/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runProcessWrapperGitCommand.in..st
>>>>
>>>> [2]
>>>> https://github.com/dalehenrich/filetree/blob/pharo5.0/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runOSProcessGitCommand.in..st
>>>>
>>>>
>>>>> Levente
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>

Reply via email to