diff options
author | Michael Muré <batolettre@gmail.com> | 2019-07-07 12:15:01 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2019-07-07 12:15:01 +0200 |
commit | dc289876c625ec1c606e84112a6b6c53310e19be (patch) | |
tree | 0455ee404252f1b682980ffa0e6df6200bef06da /bridge | |
parent | 5b1a8cdefa9516d215f99ee114d451c96997f34a (diff) | |
download | git-bug-dc289876c625ec1c606e84112a6b6c53310e19be.tar.gz |
bridge: detect when trying to configure a bridge with a name already taken
Diffstat (limited to 'bridge')
-rw-r--r-- | bridge/core/bridge.go | 11 | ||||
-rw-r--r-- | bridge/core/export.go | 3 |
2 files changed, 13 insertions, 1 deletions
diff --git a/bridge/core/bridge.go b/bridge/core/bridge.go index a8a0c033..abb57ed7 100644 --- a/bridge/core/bridge.go +++ b/bridge/core/bridge.go @@ -163,6 +163,15 @@ func ConfiguredBridges(repo repository.RepoCommon) ([]string, error) { return result, nil } +// Check if a bridge exist +func BridgeExist(repo repository.RepoCommon, name string) bool { + keyPrefix := fmt.Sprintf("git-bug.bridge.%s.", name) + + conf, err := repo.ReadConfigs(keyPrefix) + + return err == nil && len(conf) > 0 +} + // Remove a configured bridge func RemoveBridge(repo repository.RepoCommon, name string) error { re, err := regexp.Compile(`^[a-zA-Z0-9]+`) @@ -219,7 +228,7 @@ func (b *Bridge) ensureConfig() error { return nil } -func loadConfig(repo *cache.RepoCache, name string) (Configuration, error) { +func loadConfig(repo repository.RepoCommon, name string) (Configuration, error) { keyPrefix := fmt.Sprintf("git-bug.bridge.%s.", name) pairs, err := repo.ReadConfigs(keyPrefix) diff --git a/bridge/core/export.go b/bridge/core/export.go index 080ced80..2bcf0087 100644 --- a/bridge/core/export.go +++ b/bridge/core/export.go @@ -15,6 +15,9 @@ const ( ExportEventNothing ) +// ExportResult is an event that is emitted during the export process, to +// allow calling code to report on what is happening, collect metrics or +// display meaningful errors if something went wrong. type ExportResult struct { Err error Event ExportEvent |