From: Karsten Blees Date: Tue, 30 Jun 2015 14:34:13 GMT Subject: [PATCH] config.c: fix writing config files on Windows network shares Message-ID: <5592A8E5.2090601@gmail.com> In-Reply-To: <20150528075443.GB23395@peff.net> Renaming to an existing file doesn't work on Windows network shares if the target file is open. munmap() the old config file before commit_lock_file. Signed-off-by: Karsten Blees --- See https://github.com/git-for-windows/git/issues/226 Strangely, renaming to an open file works fine on local disks... config.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config.c b/config.c index 07133ef..3a23c11 100644 --- a/config.c +++ b/config.c @@ -2153,6 +2153,9 @@ int git_config_set_multivar_in_file(const char *config_filename, contents_sz - copy_begin) < contents_sz - copy_begin) goto write_err_out; + + munmap(contents, contents_sz); + contents = NULL; } if (commit_lock_file(lock) < 0) { -- 2.4.3.windows.1.1.g87477f9