From e062d9aedfa34077757e6df13bbbbaf9cbb1a2d4 Mon Sep 17 00:00:00 2001 From: Simon Walker Date: Sat, 11 Apr 2020 23:49:01 +0100 Subject: Supports git config includes I like to have "private" settings in a git include file, and store the main .gitconfig under version control. I do not want any authentication keys or tokens (even if encrypted) in version control, so I have by main .gitconfig include another file which is local and not tracked. The current implementation calls `git config --global --get-regexp ` and for some reason, this command does not follow git include files. The changes suggested in this PR add the `--includes` flag to the command, which then reads any included files. --- repository/config_git.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/repository/config_git.go b/repository/config_git.go index c4d222cf..987cf195 100644 --- a/repository/config_git.go +++ b/repository/config_git.go @@ -45,7 +45,7 @@ func (gc *gitConfig) StoreTimestamp(key string, value time.Time) error { // ReadAll read all key/value pair matching the key prefix func (gc *gitConfig) ReadAll(keyPrefix string) (map[string]string, error) { - stdout, err := gc.repo.runGitCommand("config", gc.localityFlag, "--get-regexp", keyPrefix) + stdout, err := gc.repo.runGitCommand("config", gc.localityFlag, "--includes", "--get-regexp", keyPrefix) // / \ // / ! \ @@ -74,7 +74,7 @@ func (gc *gitConfig) ReadAll(keyPrefix string) (map[string]string, error) { } func (gc *gitConfig) ReadString(key string) (string, error) { - stdout, err := gc.repo.runGitCommand("config", gc.localityFlag, "--get-all", key) + stdout, err := gc.repo.runGitCommand("config", gc.localityFlag, "--includes", "--get-all", key) // / \ // / ! \ -- cgit