when using Syck as the YAML::ENGINE.yamler
we don't require yaml when we need to read the settings by using our own ghetto YAML parser that only applies to Bundler config files. specs still pass. :P
back to Ruby evaluation
This fixes a problem which occures when you want to run `bundle` command inside code that already loads `Gemfile`. When you start a command with `bundle exec` it sets `RUBYOPT` to `-I$PATH_TO_BUNDLER -r"bundler/setup"`. Because of that, when you run the actual command it already requires bundler, which is fine, but since `GEM_PATH` was cleared on the first run `ORIGINAL_ENV` will include empty `GEM_PATH`. Now when you run `Bundler.with_clean_env`, you will not have any bundler specific env variables, but you will also not have original gem path, which will make it impossible to run any gem. To fix this I try to always keep a reference to original gem path, so it's not emptied along the way.
This code meant that _any_ gem install failure resulted in a message requesting the user to report this "bug" to the Bundler issue tracker. That is very, very not cool, and I had already fixed this issue once before the hook pull request regressed it. :(