Revision 3306f6524d32e90d2e71648fea7c6e156250f903 authored by Johannes Schindelin on 06 January 2018, 22:01:22 UTC, committed by Junio C Hamano on 10 January 2018, 22:00:54 UTC
Git's assumption that all path lists are colon-separated is not only
wrong on Windows, it is not even an assumption that is compatible with
POSIX.

In the interest of time, let's not try to fix this properly but simply
work around the obvious breakage on Windows, where the MSYS2 Bash used
by Git for Windows to interpret the Git's Unix shell scripts will
automagically convert path lists in the environment to
semicolon-separated lists of Windows paths (with drive letter and the
corresponding colon and all that jazz).

In other words, we simply look whether there is a semicolon in
GITPERLLIB and split by semicolons if found instead of colons. This is
not fool-proof, of course, as the path list could consist of a single
path. But that is not the case in Git for Windows' test suite, there are
always two paths in GITPERLLIB.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 36438dc
Raw File
checkout.h
#ifndef CHECKOUT_H
#define CHECKOUT_H

#include "cache.h"

/*
 * Check if the branch name uniquely matches a branch name on a remote
 * tracking branch.  Return the name of the remote if such a branch
 * exists, NULL otherwise.
 */
extern const char *unique_tracking_name(const char *name, struct object_id *oid);

#endif /* CHECKOUT_H */
back to top