diff --git a/compat/mingw.h b/compat/mingw.h index 8c5bf5076..c00869463 100644 --- a/compat/mingw.h +++ b/compat/mingw.h @@ -396,6 +396,12 @@ static inline char *mingw_find_last_dir_sep(const char *path) ret = (char *)path; return ret; } +static inline void convert_slashes(char *path) +{ + for (; *path; path++) + if (*path == '\\') + *path = '/'; +} #define find_last_dir_sep mingw_find_last_dir_sep int mingw_offset_1st_component(const char *path); #define offset_1st_component mingw_offset_1st_component diff --git a/path.c b/path.c index 8b7e16812..969b494d7 100644 --- a/path.c +++ b/path.c @@ -584,6 +584,9 @@ char *expand_user_path(const char *path) if (!home) goto return_null; strbuf_addstr(&user_path, home); +#ifdef GIT_WINDOWS_NATIVE + convert_slashes(user_path.buf); +#endif } else { struct passwd *pw = getpw_str(username, username_len); if (!pw)