diff --git a/AUTHORS b/AUTHORS index 4e4106ac..2ae06a50 100644 --- a/AUTHORS +++ b/AUTHORS @@ -72,3 +72,4 @@ List of contributors, in chronological order: * Itay Porezky (https://github.com/itayporezky) * JupiterRider (https://github.com/JupiterRider) * Agustin Henze (https://github.com/agustinhenze) +* Tobias Assarsson (https://github.com/daedaluz) diff --git a/api/repos.go b/api/repos.go index ba876771..ff496f2c 100644 --- a/api/repos.go +++ b/api/repos.go @@ -195,17 +195,18 @@ func apiReposEdit(c *gin.Context) { collectionFactory := context.NewCollectionFactory() collection := collectionFactory.LocalRepoCollection() - repo, err := collection.ByName(c.Params.ByName("name")) + name := c.Params.ByName("name") + repo, err := collection.ByName(name) if err != nil { AbortWithJSONError(c, 404, err) return } - if b.Name != nil { + if b.Name != nil && *b.Name != name { _, err := collection.ByName(*b.Name) if err == nil { // already exists - AbortWithJSONError(c, 404, err) + AbortWithJSONError(c, 404, fmt.Errorf("local repo with name %q already exists", *b.Name)) return } repo.Name = *b.Name