diff options
author | Michael Muré <batolettre@gmail.com> | 2019-12-26 21:42:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-26 21:42:47 +0100 |
commit | 3a3a4ffacd288627f84b367e9a735c3b1451c78b (patch) | |
tree | 94ee4e247291de89abd842cd77a39dfb3919fe55 /bridge/github/config.go | |
parent | e96d8e6771086e20639a16abf6af30f2faa006a0 (diff) | |
parent | 864d3ed33597211f22177fce6ecb7e741db795b5 (diff) | |
download | git-bug-3a3a4ffacd288627f84b367e9a735c3b1451c78b.tar.gz |
Merge pull request #278 from MichaelMure/bridge-conf-workflow
bridge: allow to configure and pull without having set a user first
Diffstat (limited to 'bridge/github/config.go')
-rw-r--r-- | bridge/github/config.go | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/bridge/github/config.go b/bridge/github/config.go index bc26a2fc..ea4b622f 100644 --- a/bridge/github/config.go +++ b/bridge/github/config.go @@ -25,6 +25,7 @@ import ( "github.com/MichaelMure/git-bug/bridge/core/auth" "github.com/MichaelMure/git-bug/cache" "github.com/MichaelMure/git-bug/entity" + "github.com/MichaelMure/git-bug/identity" "github.com/MichaelMure/git-bug/repository" "github.com/MichaelMure/git-bug/util/colors" "github.com/MichaelMure/git-bug/util/interrupt" @@ -89,10 +90,16 @@ func (g *Github) Configure(repo *cache.RepoCache, params core.BridgeParams) (cor } user, err := repo.GetUserIdentity() - if err != nil { + if err != nil && err != identity.ErrNoIdentitySet { return nil, err } + // default to a "to be filled" user Id if we don't have a valid one yet + userId := auth.DefaultUserId + if user != nil { + userId = user.Id() + } + var cred auth.Credential switch { @@ -101,13 +108,13 @@ func (g *Github) Configure(repo *cache.RepoCache, params core.BridgeParams) (cor if err != nil { return nil, err } - if cred.UserId() != user.Id() { + if user != nil && cred.UserId() != user.Id() { return nil, fmt.Errorf("selected credential don't match the user") } case params.TokenRaw != "": - cred = auth.NewToken(user.Id(), params.TokenRaw, target) + cred = auth.NewToken(userId, params.TokenRaw, target) default: - cred, err = promptTokenOptions(repo, user.Id(), owner, project) + cred, err = promptTokenOptions(repo, userId, owner, project) if err != nil { return nil, err } @@ -326,7 +333,7 @@ func promptToken() (string, error) { return token, nil } - fmt.Println("token is invalid") + fmt.Println("token has incorrect format") } } |