|
|
@ -216,16 +216,18 @@ func runServ(c *cli.Context) error { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// LowerCase and trim the repoPath as that's how they are stored.
|
|
|
|
|
|
|
|
repoPath = strings.ToLower(strings.TrimSpace(repoPath)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rr := strings.SplitN(repoPath, "/", 2) |
|
|
|
rr := strings.SplitN(repoPath, "/", 2) |
|
|
|
if len(rr) != 2 { |
|
|
|
if len(rr) != 2 { |
|
|
|
return fail(ctx, "Invalid repository path", "Invalid repository path: %v", repoPath) |
|
|
|
return fail(ctx, "Invalid repository path", "Invalid repository path: %v", repoPath) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
username := strings.ToLower(rr[0]) |
|
|
|
username := rr[0] |
|
|
|
reponame := strings.ToLower(strings.TrimSuffix(rr[1], ".git")) |
|
|
|
reponame := strings.TrimSuffix(rr[1], ".git") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// LowerCase and trim the repoPath as that's how they are stored.
|
|
|
|
|
|
|
|
// This should be done after splitting the repoPath into username and reponame
|
|
|
|
|
|
|
|
// so that username and reponame are not affected.
|
|
|
|
|
|
|
|
repoPath = strings.ToLower(strings.TrimSpace(repoPath)) |
|
|
|
|
|
|
|
|
|
|
|
if alphaDashDotPattern.MatchString(reponame) { |
|
|
|
if alphaDashDotPattern.MatchString(reponame) { |
|
|
|
return fail(ctx, "Invalid repo name", "Invalid repo name: %s", reponame) |
|
|
|
return fail(ctx, "Invalid repo name", "Invalid repo name: %s", reponame) |
|
|
|