From b6e802bb05d9a432185a79aa1e84c8f1a3178a37 Mon Sep 17 00:00:00 2001 From: Vladimir Buzuev <44682889+vladimir-buzuev@users.noreply.github.com> Date: Sat, 3 Apr 2021 18:45:55 -0700 Subject: [PATCH] add wrapper for git_config_open_default (#758) (cherry picked from commit 1e2cb92b4887132563850db0338e701e740f6a6f) --- config.go | 14 ++++++++++++++ config_test.go | 10 ++++++++++ 2 files changed, 24 insertions(+) diff --git a/config.go b/config.go index 7260089..062df05 100644 --- a/config.go +++ b/config.go @@ -450,3 +450,17 @@ func ConfigFindProgramdata() (string, error) { return C.GoString(buf.ptr), nil } + +// OpenDefault opens the default config according to git rules +func OpenDefault() (*Config, error) { + runtime.LockOSThread() + defer runtime.UnlockOSThread() + + config := new(Config) + + if ret := C.git_config_open_default(&config.ptr); ret < 0 { + return nil, MakeGitError(ret) + } + + return config, nil +} diff --git a/config_test.go b/config_test.go index 398236e..f942dcb 100644 --- a/config_test.go +++ b/config_test.go @@ -107,3 +107,13 @@ func TestConfigLookups(t *testing.T) { test(c, t) } } + +func TestOpenDefault(t *testing.T) { + + c, err := OpenDefault() + if err != nil { + t.Errorf("OpenDefault error: '%v'. Expected none\n", err) + return + } + defer c.Free() +} -- 2.45.2