when repo has a name such as repo@test aptly fails with PUT. no matter will @ be urlencoded or not inside path, method only works if inside json Name will be encoded as well
PUT api/repos/repo@test --data '{"Comment": "example repo", "Name": "repo@test"}' -> ❌
PUT api/repos/repo%40test --data '{"Comment": "example repo", "Name": "repo@test"}' -> ❌
PUT api/repos/repo@test --data '{"Comment": "example repo", "Name": "repo%40test"}' -> ❌
PUT api/repos/repo%40test --data '{"Comment": "example repo", "Name": "repo%40test"}' -> works
which is inconsistent because any other method (GET, POST, DELETE): 1) receives @ in url 2) prints repo info with @