Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
git2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
git2
Commits
634c285a
Commit
634c285a
authored
Jul 11, 2020
by
Edward Thomson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move libgit2 settings into libgit2.c
parent
1ec4702a
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
331 additions
and
331 deletions
+331
-331
src/libgit2.c
+318
-9
src/libgit2.h
+13
-0
src/settings.c
+0
-322
No files found.
src/libgit2.c
View file @
634c285a
...
...
@@ -5,25 +5,63 @@
* a Linking Exception. For full terms see the included COPYING file.
*/
#include "
runtime
.h"
#include "
libgit2
.h"
#include <git2.h>
#include "alloc.h"
#include "threadstate.h"
#include "hash.h"
#include "sysdir.h"
#include "cache.h"
#include "common.h"
#include "filter.h"
#include "
settings
.h"
#include "
mwindow
.h"
#include "
hash
.h"
#include "
index
.h"
#include "merge_driver.h"
#include "pool.h"
#include "mwindow.h"
#include "object.h"
#include "odb.h"
#include "refs.h"
#include "runtime.h"
#include "sysdir.h"
#include "thread-utils.h"
#include "threadstate.h"
#include "git2/global.h"
#include "streams/registry.h"
#include "streams/mbedtls.h"
#include "streams/openssl.h"
#include "t
hread-utils
.h"
#include "
git2/global
.h"
#include "t
ransports/smart
.h"
#include "
transports/http
.h"
#include "transports/ssh.h"
#include "win32/w32_stack.h"
#ifdef GIT_OPENSSL
# include <openssl/err.h>
#endif
#ifdef GIT_MBEDTLS
# include <mbedtls/error.h>
#endif
/* Declarations for tuneable settings */
extern
size_t
git_mwindow__window_size
;
extern
size_t
git_mwindow__mapped_limit
;
extern
size_t
git_mwindow__file_limit
;
extern
size_t
git_indexer__max_objects
;
extern
bool
git_disable_pack_keep_file_checks
;
char
*
git__user_agent
;
char
*
git__ssl_ciphers
;
static
void
libgit2_settings_global_shutdown
(
void
)
{
git__free
(
git__user_agent
);
git__free
(
git__ssl_ciphers
);
}
static
int
git_libgit2_settings_global_init
(
void
)
{
return
git_runtime_shutdown_register
(
libgit2_settings_global_shutdown
);
}
int
git_libgit2_init
(
void
)
{
static
git_runtime_init_fn
init_fns
[]
=
{
...
...
@@ -40,7 +78,7 @@ int git_libgit2_init(void)
git_mbedtls_stream_global_init
,
git_mwindow_global_init
,
git_pool_global_init
,
git_settings_global_init
git_
libgit2_
settings_global_init
};
return
git_runtime_init
(
init_fns
,
ARRAY_SIZE
(
init_fns
));
...
...
@@ -50,3 +88,274 @@ int git_libgit2_shutdown(void)
{
return
git_runtime_shutdown
();
}
int
git_libgit2_version
(
int
*
major
,
int
*
minor
,
int
*
rev
)
{
*
major
=
LIBGIT2_VER_MAJOR
;
*
minor
=
LIBGIT2_VER_MINOR
;
*
rev
=
LIBGIT2_VER_REVISION
;
return
0
;
}
int
git_libgit2_features
(
void
)
{
return
0
#ifdef GIT_THREADS
|
GIT_FEATURE_THREADS
#endif
#ifdef GIT_HTTPS
|
GIT_FEATURE_HTTPS
#endif
#if defined(GIT_SSH)
|
GIT_FEATURE_SSH
#endif
#if defined(GIT_USE_NSEC)
|
GIT_FEATURE_NSEC
#endif
;
}
static
int
config_level_to_sysdir
(
int
config_level
)
{
int
val
=
-
1
;
switch
(
config_level
)
{
case
GIT_CONFIG_LEVEL_SYSTEM
:
val
=
GIT_SYSDIR_SYSTEM
;
break
;
case
GIT_CONFIG_LEVEL_XDG
:
val
=
GIT_SYSDIR_XDG
;
break
;
case
GIT_CONFIG_LEVEL_GLOBAL
:
val
=
GIT_SYSDIR_GLOBAL
;
break
;
case
GIT_CONFIG_LEVEL_PROGRAMDATA
:
val
=
GIT_SYSDIR_PROGRAMDATA
;
break
;
default:
git_error_set
(
GIT_ERROR_INVALID
,
"invalid config path selector %d"
,
config_level
);
}
return
val
;
}
const
char
*
git_libgit2__user_agent
(
void
)
{
return
git__user_agent
;
}
const
char
*
git_libgit2__ssl_ciphers
(
void
)
{
return
git__ssl_ciphers
;
}
int
git_libgit2_opts
(
int
key
,
...)
{
int
error
=
0
;
va_list
ap
;
va_start
(
ap
,
key
);
switch
(
key
)
{
case
GIT_OPT_SET_MWINDOW_SIZE
:
git_mwindow__window_size
=
va_arg
(
ap
,
size_t
);
break
;
case
GIT_OPT_GET_MWINDOW_SIZE
:
*
(
va_arg
(
ap
,
size_t
*
))
=
git_mwindow__window_size
;
break
;
case
GIT_OPT_SET_MWINDOW_MAPPED_LIMIT
:
git_mwindow__mapped_limit
=
va_arg
(
ap
,
size_t
);
break
;
case
GIT_OPT_GET_MWINDOW_MAPPED_LIMIT
:
*
(
va_arg
(
ap
,
size_t
*
))
=
git_mwindow__mapped_limit
;
break
;
case
GIT_OPT_SET_MWINDOW_FILE_LIMIT
:
git_mwindow__file_limit
=
va_arg
(
ap
,
size_t
);
break
;
case
GIT_OPT_GET_MWINDOW_FILE_LIMIT
:
*
(
va_arg
(
ap
,
size_t
*
))
=
git_mwindow__file_limit
;
break
;
case
GIT_OPT_GET_SEARCH_PATH
:
if
((
error
=
config_level_to_sysdir
(
va_arg
(
ap
,
int
)))
>=
0
)
{
git_buf
*
out
=
va_arg
(
ap
,
git_buf
*
);
const
git_buf
*
tmp
;
git_buf_sanitize
(
out
);
if
((
error
=
git_sysdir_get
(
&
tmp
,
error
))
<
0
)
break
;
error
=
git_buf_sets
(
out
,
tmp
->
ptr
);
}
break
;
case
GIT_OPT_SET_SEARCH_PATH
:
if
((
error
=
config_level_to_sysdir
(
va_arg
(
ap
,
int
)))
>=
0
)
error
=
git_sysdir_set
(
error
,
va_arg
(
ap
,
const
char
*
));
break
;
case
GIT_OPT_SET_CACHE_OBJECT_LIMIT
:
{
git_object_t
type
=
(
git_object_t
)
va_arg
(
ap
,
int
);
size_t
size
=
va_arg
(
ap
,
size_t
);
error
=
git_cache_set_max_object_size
(
type
,
size
);
break
;
}
case
GIT_OPT_SET_CACHE_MAX_SIZE
:
git_cache__max_storage
=
va_arg
(
ap
,
ssize_t
);
break
;
case
GIT_OPT_ENABLE_CACHING
:
git_cache__enabled
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_GET_CACHED_MEMORY
:
*
(
va_arg
(
ap
,
ssize_t
*
))
=
git_cache__current_storage
.
val
;
*
(
va_arg
(
ap
,
ssize_t
*
))
=
git_cache__max_storage
;
break
;
case
GIT_OPT_GET_TEMPLATE_PATH
:
{
git_buf
*
out
=
va_arg
(
ap
,
git_buf
*
);
const
git_buf
*
tmp
;
git_buf_sanitize
(
out
);
if
((
error
=
git_sysdir_get
(
&
tmp
,
GIT_SYSDIR_TEMPLATE
))
<
0
)
break
;
error
=
git_buf_sets
(
out
,
tmp
->
ptr
);
}
break
;
case
GIT_OPT_SET_TEMPLATE_PATH
:
error
=
git_sysdir_set
(
GIT_SYSDIR_TEMPLATE
,
va_arg
(
ap
,
const
char
*
));
break
;
case
GIT_OPT_SET_SSL_CERT_LOCATIONS
:
#ifdef GIT_OPENSSL
{
const
char
*
file
=
va_arg
(
ap
,
const
char
*
);
const
char
*
path
=
va_arg
(
ap
,
const
char
*
);
error
=
git_openssl__set_cert_location
(
file
,
path
);
}
#elif defined(GIT_MBEDTLS)
{
const
char
*
file
=
va_arg
(
ap
,
const
char
*
);
const
char
*
path
=
va_arg
(
ap
,
const
char
*
);
if
(
file
)
error
=
git_mbedtls__set_cert_location
(
file
,
0
);
if
(
error
&&
path
)
error
=
git_mbedtls__set_cert_location
(
path
,
1
);
}
#else
git_error_set
(
GIT_ERROR_SSL
,
"TLS backend doesn't support certificate locations"
);
error
=
-
1
;
#endif
break
;
case
GIT_OPT_SET_USER_AGENT
:
git__free
(
git__user_agent
);
git__user_agent
=
git__strdup
(
va_arg
(
ap
,
const
char
*
));
if
(
!
git__user_agent
)
{
git_error_set_oom
();
error
=
-
1
;
}
break
;
case
GIT_OPT_ENABLE_STRICT_OBJECT_CREATION
:
git_object__strict_input_validation
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION
:
git_reference__enable_symbolic_ref_target_validation
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_SET_SSL_CIPHERS
:
#if (GIT_OPENSSL || GIT_MBEDTLS)
{
git__free
(
git__ssl_ciphers
);
git__ssl_ciphers
=
git__strdup
(
va_arg
(
ap
,
const
char
*
));
if
(
!
git__ssl_ciphers
)
{
git_error_set_oom
();
error
=
-
1
;
}
}
#else
git_error_set
(
GIT_ERROR_SSL
,
"TLS backend doesn't support custom ciphers"
);
error
=
-
1
;
#endif
break
;
case
GIT_OPT_GET_USER_AGENT
:
{
git_buf
*
out
=
va_arg
(
ap
,
git_buf
*
);
git_buf_sanitize
(
out
);
error
=
git_buf_sets
(
out
,
git__user_agent
);
}
break
;
case
GIT_OPT_ENABLE_OFS_DELTA
:
git_smart__ofs_delta_enabled
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_ENABLE_FSYNC_GITDIR
:
git_repository__fsync_gitdir
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_GET_WINDOWS_SHAREMODE
:
#ifdef GIT_WIN32
*
(
va_arg
(
ap
,
unsigned
long
*
))
=
git_win32__createfile_sharemode
;
#endif
break
;
case
GIT_OPT_SET_WINDOWS_SHAREMODE
:
#ifdef GIT_WIN32
git_win32__createfile_sharemode
=
va_arg
(
ap
,
unsigned
long
);
#endif
break
;
case
GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION
:
git_odb__strict_hash_verification
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_SET_ALLOCATOR
:
error
=
git_allocator_setup
(
va_arg
(
ap
,
git_allocator
*
));
break
;
case
GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY
:
git_index__enforce_unsaved_safety
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_SET_PACK_MAX_OBJECTS
:
git_indexer__max_objects
=
va_arg
(
ap
,
size_t
);
break
;
case
GIT_OPT_GET_PACK_MAX_OBJECTS
:
*
(
va_arg
(
ap
,
size_t
*
))
=
git_indexer__max_objects
;
break
;
case
GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS
:
git_disable_pack_keep_file_checks
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE
:
git_http__expect_continue
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
default:
git_error_set
(
GIT_ERROR_INVALID
,
"invalid option key"
);
error
=
-
1
;
}
va_end
(
ap
);
return
error
;
}
src/libgit2.h
0 → 100644
View file @
634c285a
/*
* Copyright (C) the libgit2 contributors. All rights reserved.
*
* This file is part of libgit2, distributed under the GNU GPL v2 with
* a Linking Exception. For full terms see the included COPYING file.
*/
#ifndef INCLUDE_libgit2_h__
#define INCLUDE_libgit2_h__
extern
const
char
*
git_libgit2__user_agent
(
void
);
extern
const
char
*
git_libgit2__ssl_ciphers
(
void
);
#endif
src/settings.c
deleted
100644 → 0
View file @
1ec4702a
/*
* Copyright (C) the libgit2 contributors. All rights reserved.
*
* This file is part of libgit2, distributed under the GNU GPL v2 with
* a Linking Exception. For full terms see the included COPYING file.
*/
#include "common.h"
#ifdef GIT_OPENSSL
# include <openssl/err.h>
#endif
#ifdef GIT_MBEDTLS
# include <mbedtls/error.h>
#endif
#include <git2.h>
#include "alloc.h"
#include "sysdir.h"
#include "cache.h"
#include "runtime.h"
#include "object.h"
#include "odb.h"
#include "refs.h"
#include "index.h"
#include "transports/smart.h"
#include "transports/http.h"
#include "streams/openssl.h"
#include "streams/mbedtls.h"
/* Declarations for tuneable settings */
extern
size_t
git_mwindow__window_size
;
extern
size_t
git_mwindow__mapped_limit
;
extern
size_t
git_mwindow__file_limit
;
extern
size_t
git_indexer__max_objects
;
extern
bool
git_disable_pack_keep_file_checks
;
char
*
git__user_agent
;
char
*
git__ssl_ciphers
;
static
void
git_settings_global_shutdown
(
void
)
{
git__free
(
git__user_agent
);
git__free
(
git__ssl_ciphers
);
}
int
git_settings_global_init
(
void
)
{
return
git_runtime_shutdown_register
(
git_settings_global_shutdown
);
}
int
git_libgit2_version
(
int
*
major
,
int
*
minor
,
int
*
rev
)
{
*
major
=
LIBGIT2_VER_MAJOR
;
*
minor
=
LIBGIT2_VER_MINOR
;
*
rev
=
LIBGIT2_VER_REVISION
;
return
0
;
}
int
git_libgit2_features
(
void
)
{
return
0
#ifdef GIT_THREADS
|
GIT_FEATURE_THREADS
#endif
#ifdef GIT_HTTPS
|
GIT_FEATURE_HTTPS
#endif
#if defined(GIT_SSH)
|
GIT_FEATURE_SSH
#endif
#if defined(GIT_USE_NSEC)
|
GIT_FEATURE_NSEC
#endif
;
}
static
int
config_level_to_sysdir
(
int
config_level
)
{
int
val
=
-
1
;
switch
(
config_level
)
{
case
GIT_CONFIG_LEVEL_SYSTEM
:
val
=
GIT_SYSDIR_SYSTEM
;
break
;
case
GIT_CONFIG_LEVEL_XDG
:
val
=
GIT_SYSDIR_XDG
;
break
;
case
GIT_CONFIG_LEVEL_GLOBAL
:
val
=
GIT_SYSDIR_GLOBAL
;
break
;
case
GIT_CONFIG_LEVEL_PROGRAMDATA
:
val
=
GIT_SYSDIR_PROGRAMDATA
;
break
;
default:
git_error_set
(
GIT_ERROR_INVALID
,
"invalid config path selector %d"
,
config_level
);
}
return
val
;
}
const
char
*
git_libgit2__user_agent
(
void
)
{
return
git__user_agent
;
}
const
char
*
git_libgit2__ssl_ciphers
(
void
)
{
return
git__ssl_ciphers
;
}
int
git_libgit2_opts
(
int
key
,
...)
{
int
error
=
0
;
va_list
ap
;
va_start
(
ap
,
key
);
switch
(
key
)
{
case
GIT_OPT_SET_MWINDOW_SIZE
:
git_mwindow__window_size
=
va_arg
(
ap
,
size_t
);
break
;
case
GIT_OPT_GET_MWINDOW_SIZE
:
*
(
va_arg
(
ap
,
size_t
*
))
=
git_mwindow__window_size
;
break
;
case
GIT_OPT_SET_MWINDOW_MAPPED_LIMIT
:
git_mwindow__mapped_limit
=
va_arg
(
ap
,
size_t
);
break
;
case
GIT_OPT_GET_MWINDOW_MAPPED_LIMIT
:
*
(
va_arg
(
ap
,
size_t
*
))
=
git_mwindow__mapped_limit
;
break
;
case
GIT_OPT_SET_MWINDOW_FILE_LIMIT
:
git_mwindow__file_limit
=
va_arg
(
ap
,
size_t
);
break
;
case
GIT_OPT_GET_MWINDOW_FILE_LIMIT
:
*
(
va_arg
(
ap
,
size_t
*
))
=
git_mwindow__file_limit
;
break
;
case
GIT_OPT_GET_SEARCH_PATH
:
if
((
error
=
config_level_to_sysdir
(
va_arg
(
ap
,
int
)))
>=
0
)
{
git_buf
*
out
=
va_arg
(
ap
,
git_buf
*
);
const
git_buf
*
tmp
;
git_buf_sanitize
(
out
);
if
((
error
=
git_sysdir_get
(
&
tmp
,
error
))
<
0
)
break
;
error
=
git_buf_sets
(
out
,
tmp
->
ptr
);
}
break
;
case
GIT_OPT_SET_SEARCH_PATH
:
if
((
error
=
config_level_to_sysdir
(
va_arg
(
ap
,
int
)))
>=
0
)
error
=
git_sysdir_set
(
error
,
va_arg
(
ap
,
const
char
*
));
break
;
case
GIT_OPT_SET_CACHE_OBJECT_LIMIT
:
{
git_object_t
type
=
(
git_object_t
)
va_arg
(
ap
,
int
);
size_t
size
=
va_arg
(
ap
,
size_t
);
error
=
git_cache_set_max_object_size
(
type
,
size
);
break
;
}
case
GIT_OPT_SET_CACHE_MAX_SIZE
:
git_cache__max_storage
=
va_arg
(
ap
,
ssize_t
);
break
;
case
GIT_OPT_ENABLE_CACHING
:
git_cache__enabled
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_GET_CACHED_MEMORY
:
*
(
va_arg
(
ap
,
ssize_t
*
))
=
git_cache__current_storage
.
val
;
*
(
va_arg
(
ap
,
ssize_t
*
))
=
git_cache__max_storage
;
break
;
case
GIT_OPT_GET_TEMPLATE_PATH
:
{
git_buf
*
out
=
va_arg
(
ap
,
git_buf
*
);
const
git_buf
*
tmp
;
git_buf_sanitize
(
out
);
if
((
error
=
git_sysdir_get
(
&
tmp
,
GIT_SYSDIR_TEMPLATE
))
<
0
)
break
;
error
=
git_buf_sets
(
out
,
tmp
->
ptr
);
}
break
;
case
GIT_OPT_SET_TEMPLATE_PATH
:
error
=
git_sysdir_set
(
GIT_SYSDIR_TEMPLATE
,
va_arg
(
ap
,
const
char
*
));
break
;
case
GIT_OPT_SET_SSL_CERT_LOCATIONS
:
#ifdef GIT_OPENSSL
{
const
char
*
file
=
va_arg
(
ap
,
const
char
*
);
const
char
*
path
=
va_arg
(
ap
,
const
char
*
);
error
=
git_openssl__set_cert_location
(
file
,
path
);
}
#elif defined(GIT_MBEDTLS)
{
const
char
*
file
=
va_arg
(
ap
,
const
char
*
);
const
char
*
path
=
va_arg
(
ap
,
const
char
*
);
if
(
file
)
error
=
git_mbedtls__set_cert_location
(
file
,
0
);
if
(
error
&&
path
)
error
=
git_mbedtls__set_cert_location
(
path
,
1
);
}
#else
git_error_set
(
GIT_ERROR_SSL
,
"TLS backend doesn't support certificate locations"
);
error
=
-
1
;
#endif
break
;
case
GIT_OPT_SET_USER_AGENT
:
git__free
(
git__user_agent
);
git__user_agent
=
git__strdup
(
va_arg
(
ap
,
const
char
*
));
if
(
!
git__user_agent
)
{
git_error_set_oom
();
error
=
-
1
;
}
break
;
case
GIT_OPT_ENABLE_STRICT_OBJECT_CREATION
:
git_object__strict_input_validation
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION
:
git_reference__enable_symbolic_ref_target_validation
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_SET_SSL_CIPHERS
:
#if (GIT_OPENSSL || GIT_MBEDTLS)
{
git__free
(
git__ssl_ciphers
);
git__ssl_ciphers
=
git__strdup
(
va_arg
(
ap
,
const
char
*
));
if
(
!
git__ssl_ciphers
)
{
git_error_set_oom
();
error
=
-
1
;
}
}
#else
git_error_set
(
GIT_ERROR_SSL
,
"TLS backend doesn't support custom ciphers"
);
error
=
-
1
;
#endif
break
;
case
GIT_OPT_GET_USER_AGENT
:
{
git_buf
*
out
=
va_arg
(
ap
,
git_buf
*
);
git_buf_sanitize
(
out
);
error
=
git_buf_sets
(
out
,
git__user_agent
);
}
break
;
case
GIT_OPT_ENABLE_OFS_DELTA
:
git_smart__ofs_delta_enabled
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_ENABLE_FSYNC_GITDIR
:
git_repository__fsync_gitdir
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_GET_WINDOWS_SHAREMODE
:
#ifdef GIT_WIN32
*
(
va_arg
(
ap
,
unsigned
long
*
))
=
git_win32__createfile_sharemode
;
#endif
break
;
case
GIT_OPT_SET_WINDOWS_SHAREMODE
:
#ifdef GIT_WIN32
git_win32__createfile_sharemode
=
va_arg
(
ap
,
unsigned
long
);
#endif
break
;
case
GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION
:
git_odb__strict_hash_verification
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_SET_ALLOCATOR
:
error
=
git_allocator_setup
(
va_arg
(
ap
,
git_allocator
*
));
break
;
case
GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY
:
git_index__enforce_unsaved_safety
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_SET_PACK_MAX_OBJECTS
:
git_indexer__max_objects
=
va_arg
(
ap
,
size_t
);
break
;
case
GIT_OPT_GET_PACK_MAX_OBJECTS
:
*
(
va_arg
(
ap
,
size_t
*
))
=
git_indexer__max_objects
;
break
;
case
GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS
:
git_disable_pack_keep_file_checks
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
case
GIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE
:
git_http__expect_continue
=
(
va_arg
(
ap
,
int
)
!=
0
);
break
;
default:
git_error_set
(
GIT_ERROR_INVALID
,
"invalid option key"
);
error
=
-
1
;
}
va_end
(
ap
);
return
error
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment