Merge pull request #156 from A-Hilaly/bridge-rm

Fix bridge rm command
This commit is contained in:
Michael Muré 2019-06-19 18:11:31 +02:00 committed by GitHub
commit 89c6732354
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 29 additions and 4 deletions

View File

@ -1,10 +1,13 @@
package commands
import (
"fmt"
"github.com/spf13/cobra"
"github.com/MichaelMure/git-bug/bridge"
"github.com/MichaelMure/git-bug/cache"
"github.com/MichaelMure/git-bug/util/interrupt"
"github.com/spf13/cobra"
)
func runBridgeRm(cmd *cobra.Command, args []string) error {
@ -20,11 +23,12 @@ func runBridgeRm(cmd *cobra.Command, args []string) error {
return err
}
fmt.Printf("Successfully removed bridge configuration %v", args[0])
return nil
}
var bridgeRmCmd = &cobra.Command{
Use: "rm name <name>",
Use: "rm <name>",
Short: "Delete a configured bridge.",
PreRunE: loadRepo,
RunE: runBridgeRm,

View File

@ -8,12 +8,12 @@ import (
"strings"
"time"
"github.com/MichaelMure/git-bug/util/timestamp"
"github.com/pkg/errors"
"github.com/MichaelMure/git-bug/repository"
"github.com/MichaelMure/git-bug/util/git"
"github.com/MichaelMure/git-bug/util/lamport"
"github.com/MichaelMure/git-bug/util/timestamp"
)
const identityRefPattern = "refs/identities/"

View File

@ -261,7 +261,12 @@ func (repo *GitRepo) ReadConfigString(key string) (string, error) {
// RmConfigs remove all key/value pair matching the key prefix
func (repo *GitRepo) RmConfigs(keyPrefix string) error {
// try to remove key/value pair by key
_, err := repo.runGitCommand("config", "--unset-all", keyPrefix)
if err != nil {
// try to remove section
_, err = repo.runGitCommand("config", "--remove-section", keyPrefix)
}
return err
}

View File

@ -35,7 +35,6 @@ func TestConfig(t *testing.T) {
configs, err = repo.ReadConfigs("section")
assert.NoError(t, err)
assert.Equal(t, configs, map[string]string{
"section.key": "value",
})
@ -43,9 +42,25 @@ func TestConfig(t *testing.T) {
_, err = repo.ReadConfigBool("section.true")
assert.Equal(t, ErrNoConfigEntry, err)
err = repo.RmConfigs("section.nonexistingkey")
assert.Error(t, err)
err = repo.RmConfigs("section.key")
assert.NoError(t, err)
_, err = repo.ReadConfigString("section.key")
assert.Equal(t, ErrNoConfigEntry, err)
err = repo.RmConfigs("nonexistingsection")
assert.Error(t, err)
err = repo.RmConfigs("section")
assert.NoError(t, err)
_, err = repo.ReadConfigString("section.key")
assert.Error(t, err)
err = repo.RmConfigs("section.key")
assert.Error(t, err)
}

View File

@ -103,6 +103,7 @@ func (r *mockRepoForTest) ReadConfigString(key string) (string, error) {
return val, nil
}
// RmConfigs remove all key/value pair matching the key prefix
func (r *mockRepoForTest) RmConfigs(keyPrefix string) error {
for key := range r.config {
if strings.HasPrefix(key, keyPrefix) {