From 864eae0d6bd0732260c0c56583bb77f9b25b60f6 Mon Sep 17 00:00:00 2001 From: Michael Muré Date: Sun, 17 Feb 2019 16:12:06 +0100 Subject: identity: work on higher level now, cache, first two identity commands --- identity/identity.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'identity') diff --git a/identity/identity.go b/identity/identity.go index a0800bcd..35edca18 100644 --- a/identity/identity.go +++ b/identity/identity.go @@ -204,8 +204,22 @@ func NewFromGitUser(repo repository.Repo) (*Identity, error) { return NewIdentity(name, email), nil } +// IsUserIdentitySet tell if the user identity is correctly set. +func IsUserIdentitySet(repo repository.RepoCommon) (bool, error) { + configs, err := repo.ReadConfigs(identityConfigKey) + if err != nil { + return false, err + } + + if len(configs) > 1 { + return false, fmt.Errorf("multiple identity config exist") + } + + return len(configs) == 1, nil +} + // SetUserIdentity store the user identity's id in the git config -func SetUserIdentity(repo repository.RepoCommon, identity Identity) error { +func SetUserIdentity(repo repository.RepoCommon, identity *Identity) error { return repo.StoreConfig(identityConfigKey, identity.Id()) } -- cgit