mirror of
https://git.proxmox.com/git/libgit2
synced 2025-06-26 21:13:05 +00:00
Merge pull request #261 from Romain-Geissler/discovery-path-v2
Fix: GIT_PATH_PATH_SEPARATOR is now a semi-colon under Windows.
This commit is contained in:
commit
ef9a6f4cbc
@ -76,6 +76,10 @@
|
|||||||
# define GIT_FORMAT_PRINTF(a,b) /* empty */
|
# define GIT_FORMAT_PRINTF(a,b) /* empty */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(_WIN32) && !defined(__CYGWIN__)
|
||||||
|
#define GIT_WIN32 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file git2/common.h
|
* @file git2/common.h
|
||||||
* @brief Git common platform definitions
|
* @brief Git common platform definitions
|
||||||
@ -86,6 +90,22 @@
|
|||||||
|
|
||||||
GIT_BEGIN_DECL
|
GIT_BEGIN_DECL
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The separator used in path list strings (ie like in the PATH
|
||||||
|
* environment variable). A semi-colon ";" is used on Windows, and
|
||||||
|
* a colon ":" for all other systems.
|
||||||
|
*/
|
||||||
|
#ifdef GIT_WIN32
|
||||||
|
#define GIT_PATH_LIST_SEPARATOR ';'
|
||||||
|
#else
|
||||||
|
#define GIT_PATH_LIST_SEPARATOR ':'
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The maximum length of a git valid git path.
|
||||||
|
*/
|
||||||
|
#define GIT_PATH_MAX 4096
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char **strings;
|
char **strings;
|
||||||
size_t count;
|
size_t count;
|
||||||
|
@ -151,9 +151,9 @@ GIT_EXTERN(int) git_repository_open3(git_repository **repository,
|
|||||||
* @param across_fs If true, then the lookup will not stop when a filesystem device change
|
* @param across_fs If true, then the lookup will not stop when a filesystem device change
|
||||||
* is detected while exploring parent directories.
|
* is detected while exploring parent directories.
|
||||||
*
|
*
|
||||||
* @param ceiling_dirs A colon separated of absolute symbolic link free paths. The lookup will
|
* @param ceiling_dirs A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link
|
||||||
* stop when any of this paths is reached. Note that the lookup always performs on start_path
|
* free paths. The lookup will stop when any of this paths is reached. Note that the
|
||||||
* no matter start_path appears in ceiling_dirs
|
* lookup always performs on start_path no matter start_path appears in ceiling_dirs
|
||||||
* ceiling_dirs might be NULL (which is equivalent to an empty string)
|
* ceiling_dirs might be NULL (which is equivalent to an empty string)
|
||||||
*
|
*
|
||||||
* @return 0 on success; error code otherwise
|
* @return 0 on success; error code otherwise
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
#ifndef INCLUDE_common_h__
|
#ifndef INCLUDE_common_h__
|
||||||
#define INCLUDE_common_h__
|
#define INCLUDE_common_h__
|
||||||
|
|
||||||
|
#include "git2/common.h"
|
||||||
|
|
||||||
/** Force 64 bit off_t size on POSIX. */
|
/** Force 64 bit off_t size on POSIX. */
|
||||||
#define _FILE_OFFSET_BITS 64
|
#define _FILE_OFFSET_BITS 64
|
||||||
|
|
||||||
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
||||||
#define GIT_WIN32 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "git2/thread-utils.h"
|
#include "git2/thread-utils.h"
|
||||||
#include "cc-compat.h"
|
#include "cc-compat.h"
|
||||||
|
|
||||||
@ -47,13 +45,11 @@ typedef SSIZE_T ssize_t;
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "git2/common.h"
|
|
||||||
#include "git2/types.h"
|
#include "git2/types.h"
|
||||||
#include "git2/errors.h"
|
#include "git2/errors.h"
|
||||||
#include "thread-utils.h"
|
#include "thread-utils.h"
|
||||||
#include "bswap.h"
|
#include "bswap.h"
|
||||||
|
|
||||||
#define GIT_PATH_MAX 4096
|
|
||||||
extern int git__throw(int error, const char *, ...) GIT_FORMAT_PRINTF(2, 3);
|
extern int git__throw(int error, const char *, ...) GIT_FORMAT_PRINTF(2, 3);
|
||||||
extern int git__rethrow(int error, const char *, ...) GIT_FORMAT_PRINTF(2, 3);
|
extern int git__rethrow(int error, const char *, ...) GIT_FORMAT_PRINTF(2, 3);
|
||||||
|
|
||||||
|
@ -12,8 +12,6 @@
|
|||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#define GIT_PATH_LIST_SEPARATOR ':'
|
|
||||||
|
|
||||||
#ifdef GIT_WIN32
|
#ifdef GIT_WIN32
|
||||||
#define GIT_PLATFORM_PATH_SEP '\\'
|
#define GIT_PLATFORM_PATH_SEP '\\'
|
||||||
#else
|
#else
|
||||||
|
@ -334,7 +334,7 @@ static int append_ceiling_dir(char *ceiling_dirs, const char *path)
|
|||||||
return git__rethrow(error, "Failed to append ceiling directory.");
|
return git__rethrow(error, "Failed to append ceiling directory.");
|
||||||
|
|
||||||
if (len)
|
if (len)
|
||||||
ceiling_dirs[len] = ':';
|
ceiling_dirs[len] = GIT_PATH_LIST_SEPARATOR;
|
||||||
|
|
||||||
return GIT_SUCCESS;
|
return GIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user