diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-06-02 15:05:58 +0900 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-06-02 15:05:58 +0900 |
commit | 7d26aa32309a2a5979c4ae4b85b25b20e8aae0d4 (patch) | |
tree | d04eae1e3b22448ecac24085db96419c53ddca77 /remote.c | |
parent | Fourth batch for 2.14 (diff) | |
parent | Windows: do not treat a path with backslashes as a remote's nick name (diff) | |
download | tgif-7d26aa32309a2a5979c4ae4b85b25b20e8aae0d4.tar.xz |
Merge branch 'js/bs-is-a-dir-sep-on-windows'
"foo\bar\baz" in "git fetch foo\bar\baz", even though there is no
slashes in it, cannot be a nickname for a remote on Windows, as
that is likely to be a pathname on a local filesystem.
* js/bs-is-a-dir-sep-on-windows:
Windows: do not treat a path with backslashes as a remote's nick name
mingw.h: permit arguments with side effects for is_dir_sep
Diffstat (limited to 'remote.c')
-rw-r--r-- | remote.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -649,7 +649,12 @@ static int valid_remote_nick(const char *name) { if (!name[0] || is_dot_or_dotdot(name)) return 0; - return !strchr(name, '/'); /* no slash */ + + /* remote nicknames cannot contain slashes */ + while (*name) + if (is_dir_sep(*name++)) + return 0; + return 1; } const char *remote_for_branch(struct branch *branch, int *explicit) |