Validate struct versions in merge, revert
Merge pull request #2001 from ethomson/merge_version_validate

Validate struct versions in merge, revert
pool: Cleanup error handling in pool_strdup

Note that `git_pool_strdup` cannot really return any error codes,
 because the pool doesn't set errors on OOM.

 The only place where `giterr_set_oom` is called is in
 `git_pool_strndup`, in a conditional check that is always optimized
 away. `n + 1` cannot be zero if `n` is unsigned because the compiler
 doesn't take wraparound into account.

 This check has been removed altogether because `size_t` is not
 particularly going to overflow.
pool: Correct overflow checks

Ok, scrap the previous commit. This is the right overflow check that
takes care of 64 bit overflow **and** 32-bit overflow, which needs to be
considered because the pool malloc can only allocate 32-bit elements in
one go.
pool: Agh, this test doesn't really apply in 32-bit machines

The size_t is 32-bit already, so it overflows before going into the
function. The `-1` test should handle this gracefully in both cases
anyway.
Merge pull request #1986 from libgit2/rb/error-handling-cleanups

Clean up some error handling and change callback error behavior
Overwrite ignored files on checkout
Overwrite ignored directories on checkout
Merge pull request #2000 from ethomson/overwrite_ignored

Overwrite ignored files on checkout
Merge pull request #1920 from libgit2/cmn/ref-with-log

Reference operations with log
docs: Remove non existing wrapper from the readme

libgit2net stopped to exist, all hail libgit2sharp
Merge pull request #2015 from txdv/patch-1

docs: Remove non existing wrapper from the readme
Accept 'submodule.*.fetchRecurseSubmodules' config 'on-demand' value
Default value for fetchRecurseSubmodules should be yes
Update test related to fetchRecurseSubmodules
Updated fetch.c test to pass.

I am not sure why there was 6 in the first place.
Merge pull request #2020 from mrshu/patch-1

Updated fetch.c test to pass.
Merge pull request #2019 from linquize/recurse-on-demand

Accept 'submodule.*.fetchRecurseSubmodules' config 'on-demand' value
Fixed a compile error in VS2013.
Read the submodule branch option from Git 1.8.2.