2015-09-29 10:14 GMT+02:00 Thierry Goubier <[email protected]>:
> > > 2015-09-29 9:39 GMT+02:00 Nicolai Hess <[email protected]>: > >> >> >> 2015-09-29 7:05 GMT+02:00 Thierry Goubier <[email protected]>: >> >>> Hi Levente, >>> >>> Le 28/09/2015 23:54, Levente Uzonyi a écrit : >>> >>>> On Sun, 27 Sep 2015, Ferlicot D. Cyril wrote: >>>> >>>> An other point is that git file tree will not work on Windows if we do >>>>> not fix the problem of the stdio. And a lot of people out of the >>>>> community use Windows, so this is not a issue we should forget. Most of >>>>> the people I know in company use Windows, so if we want to attract >>>>> people this problem need to be corrected. >>>>> >>>> >>>> If there are so many windows users, then how can it be that none of them >>>> managed to explain what the actual problem with stdio handling is. I had >>>> asked about the problem a while ago, but I still haven't got an answer: >>>> http://forum.world.st/Google-Code-Shutdown-tt4814760.html#a4840937 . >>>> >>> >>> Well, I changed the code using ProcessWrapper with your suggestions >>> following that exchange, but my code stay fairly naive [1] (and would need >>> to run under debug), and I didn't have someone testing on Windows. >>> >> >> Can you give me an example on how to test this >> > > 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. > > 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 >>>> >>>> >>> >>> >> >
