Re: [PATCH 2/2] git-sh-setup: work around Cygwin path handling gotchas
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 21, 2012, 22:24 UTC
- Message-ID
- <7vaa116ulx.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <4FBA8CD4.3020001@ramsay1.demon.co.uk>
Ramsay Jones <ramsay@ramsay1.demon.co.uk> writes:
Show 5 quoted lines
> 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?
Show 33 quoted lines
>
> 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< --