Re: [PATCH 2/2] git-sh-setup: work around Cygwin path handling gotchas
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:53:52
Ramsay Jones [off-list ref] writes:
However, you could imagine adding code to accommodate external windows programs. If we limit ourselves to the text editor, for example, I could imagine something like the diff attached below to fix up the C based git programs. (You would need to make similar changes to the shell and perl scripts which launch the text editor).
If you _only_ allow editors that understands windows style paths, your patch may make sense, but doesn't it break editors that wants only POSIX style paths?
quoted hunk
ATB, Ramsay Jones -- >8 --diff --git a/editor.c b/editor.c index d834003..cf36e62 100644 --- a/editor.c +++ b/editor.c@@ -1,6 +1,9 @@ #include "cache.h" #include "strbuf.h" #include "run-command.h" +#ifdef __CYGWIN__ +# include <sys/cygwin.h> +#endif #ifndef DEFAULT_EDITOR #define DEFAULT_EDITOR "vi"@@ -37,6 +40,12 @@ int launch_editor(const char *path, struct strbuf *buffer, const char *const *en if (strcmp(editor, ":")) { const char *args[] = { editor, path, NULL }; +#ifdef __CYGWIN__ + char win32_path[1024]; + + cygwin_conv_to_full_win32_path(path, win32_path); + args[1] = win32_path; +#endif if (run_command_v_opt_cd_env(args, RUN_USING_SHELL, NULL, env)) return error("There was a problem with the editor '%s'.", -- 8< --