aboutsummaryrefslogtreecommitdiffstats
path: root/bridge/github/config.go
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2019-12-26 21:42:47 +0100
committerGitHub <noreply@github.com>2019-12-26 21:42:47 +0100
commit3a3a4ffacd288627f84b367e9a735c3b1451c78b (patch)
tree94ee4e247291de89abd842cd77a39dfb3919fe55 /bridge/github/config.go
parente96d8e6771086e20639a16abf6af30f2faa006a0 (diff)
parent864d3ed33597211f22177fce6ecb7e741db795b5 (diff)
downloadgit-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.go17
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")
}
}