mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-14 17:51:44 +03:00
repository: use repo.runGitCommand
and flagLocality
instead of execFn
This commit is contained in:
parent
104224c9f0
commit
9304808070
@ -14,27 +14,24 @@ import (
|
|||||||
var _ Config = &gitConfig{}
|
var _ Config = &gitConfig{}
|
||||||
|
|
||||||
type gitConfig struct {
|
type gitConfig struct {
|
||||||
execFn func(args ...string) (string, error)
|
repo *GitRepo
|
||||||
|
localityFlag string
|
||||||
}
|
}
|
||||||
|
|
||||||
func newGitConfig(repo *GitRepo, global bool) *gitConfig {
|
func newGitConfig(repo *GitRepo, global bool) *gitConfig {
|
||||||
configCmdFlag := "--local"
|
localityFlag := "--local"
|
||||||
if global {
|
if global {
|
||||||
configCmdFlag = "--global"
|
localityFlag = "--global"
|
||||||
}
|
}
|
||||||
return &gitConfig{
|
return &gitConfig{
|
||||||
execFn: func(args ...string) (string, error) {
|
repo: repo,
|
||||||
if len(args) > 0 && args[0] == "config" {
|
localityFlag: localityFlag,
|
||||||
args = append([]string{args[0], configCmdFlag}, args[1:]...)
|
|
||||||
}
|
|
||||||
return repo.runGitCommand(args...)
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// StoreConfig store a single key/value pair in the config of the repo
|
// StoreConfig store a single key/value pair in the config of the repo
|
||||||
func (gc *gitConfig) StoreString(key string, value string) error {
|
func (gc *gitConfig) StoreString(key string, value string) error {
|
||||||
_, err := gc.execFn("config", "--replace-all", key, value)
|
_, err := gc.repo.runGitCommand("config", "gc.localityFlag", "--replace-all", key, value)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,7 +45,7 @@ func (gc *gitConfig) StoreTimestamp(key string, value time.Time) error {
|
|||||||
|
|
||||||
// ReadConfigs read all key/value pair matching the key prefix
|
// ReadConfigs read all key/value pair matching the key prefix
|
||||||
func (gc *gitConfig) ReadAll(keyPrefix string) (map[string]string, error) {
|
func (gc *gitConfig) ReadAll(keyPrefix string) (map[string]string, error) {
|
||||||
stdout, err := gc.execFn("config", "--get-regexp", keyPrefix)
|
stdout, err := gc.repo.runGitCommand("config", "gc.localityFlag", "--get-regexp", keyPrefix)
|
||||||
|
|
||||||
// / \
|
// / \
|
||||||
// / ! \
|
// / ! \
|
||||||
@ -81,7 +78,7 @@ func (gc *gitConfig) ReadAll(keyPrefix string) (map[string]string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (gc *gitConfig) ReadString(key string) (string, error) {
|
func (gc *gitConfig) ReadString(key string) (string, error) {
|
||||||
stdout, err := gc.execFn("config", "--get-all", key)
|
stdout, err := gc.repo.runGitCommand("config", "gc.localityFlag", "--get-all", key)
|
||||||
|
|
||||||
// / \
|
// / \
|
||||||
// / ! \
|
// / ! \
|
||||||
@ -123,12 +120,12 @@ func (gc *gitConfig) ReadTimestamp(key string) (*time.Time, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (gc *gitConfig) rmSection(keyPrefix string) error {
|
func (gc *gitConfig) rmSection(keyPrefix string) error {
|
||||||
_, err := gc.execFn("config", "--remove-section", keyPrefix)
|
_, err := gc.repo.runGitCommand("config", "gc.localityFlag", "--remove-section", keyPrefix)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gc *gitConfig) unsetAll(keyPrefix string) error {
|
func (gc *gitConfig) unsetAll(keyPrefix string) error {
|
||||||
_, err := gc.execFn("config", "--unset-all", keyPrefix)
|
_, err := gc.repo.runGitCommand("config", "gc.localityFlag", "--unset-all", keyPrefix)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,7 +184,7 @@ func (gc *gitConfig) RemoveAll(keyPrefix string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (gc *gitConfig) gitVersion() (*semver.Version, error) {
|
func (gc *gitConfig) gitVersion() (*semver.Version, error) {
|
||||||
versionOut, err := gc.execFn("version")
|
versionOut, err := gc.repo.runGitCommand("version")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user