diff --git a/builtin/update-microsoft-git.c b/builtin/update-microsoft-git.c index 329f6d77c0d1c9..8c4d2bd6a8b14d 100644 --- a/builtin/update-microsoft-git.c +++ b/builtin/update-microsoft-git.c @@ -2,11 +2,31 @@ #include "repository.h" #include "parse-options.h" #include "run-command.h" +#include "strvec.h" +#if defined(GIT_WINDOWS_NATIVE) +/* + * On Windows, run 'git update-git-for-windows' which + * is installed by the installer, based on the script + * in git-for-windows/build-extra. + */ static int platform_specific_upgrade(void) { + int res; + struct strvec args = STRVEC_INIT; + + strvec_push(&args, "git-update-git-for-windows"); + res = run_command_v_opt(args.v, 0); + strvec_clear(&args); + return res; +} +#else +static int platform_specific_upgrade(void) +{ + error(_("update-microsoft-git is not supported on this platform")); return 1; } +#endif static const char builtin_update_microsoft_git_usage[] = N_("git update-microsoft-git");