Open4 is not compatible with windows because windows doesn't support Process.fork(just only spawn).
c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/open4-1.3.4/lib/open4.rb:62:in `fork': fork() function is unimplemented on this machine (NotImplementedError)
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/open4-1.3.4/lib/open4.rb:62:in `do_popen'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/open4-1.3.4/lib/open4.rb:34:in `popen4'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/command.rb:56:in `block in execution_proc'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/command.rb:49:in `call'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/command.rb:49:in `execute_without_caching'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/command.rb:26:in `execute'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/shell.rb:76:in `run'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/shell.rb:94:in `run'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/shell.rb:90:in `hg'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/helper.rb:6:in `hg'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/helper.rb:16:in `block in hg_to_array'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/helper.rb:15:in `tap'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/helper.rb:15:in `hg_to_array'
from c:/workspace/myproject/vendor/bundle/ruby/2.2.0/gems/mercurial-ruby-0.7.12/lib/mercurial-ruby/factories/branch_factory.rb:22:in `all'
from history.rb:11:in `<main>'
Second:
When Mercurial execution path includes space like 'C:\Program Files\Mercurial\hg.exe', shell command can't find hg execution.
My Environment
Problem
First:
Open4 is not compatible with windows because windows doesn't support Process.fork(just only spawn).
Second:
When Mercurial execution path includes space like 'C:\Program Files\Mercurial\hg.exe', shell command can't find hg execution.