Polish the error message about wrong project name
If there is not project 'wrongname.git' on disk, below command 'git push ssh://review/wrongname.git HEAD:refs/for/master' will get an error: 'fatal: '/wrongname.git': not a Gerrit project' This patch polish it to be: 'fatal: 'wrongname.git': is not a Gerrit project'. Change-Id: Iab1430758c73903237d91f814392b46767c73a18
This commit is contained in:
		| @@ -20,6 +20,7 @@ import com.google.gerrit.server.project.ProjectControl; | ||||
| import com.google.inject.Inject; | ||||
| import com.google.inject.assistedinject.Assisted; | ||||
|  | ||||
| import org.eclipse.jgit.lib.Constants; | ||||
| import org.kohsuke.args4j.CmdLineException; | ||||
| import org.kohsuke.args4j.CmdLineParser; | ||||
| import org.kohsuke.args4j.OptionDef; | ||||
| @@ -42,23 +43,12 @@ public class ProjectControlHandler extends OptionHandler<ProjectControl> { | ||||
|   @Override | ||||
|   public final int parseArguments(final Parameters params) | ||||
|       throws CmdLineException { | ||||
|     final String token = params.getParameter(0); | ||||
|     String projectName = token; | ||||
|     String projectName = params.getParameter(0); | ||||
|  | ||||
|     while (projectName.endsWith("/")) { | ||||
|       projectName = projectName.substring(0, projectName.length() - 1); | ||||
|     } | ||||
|  | ||||
|     if (projectName.endsWith(".git")) { | ||||
|       // Be nice and drop the trailing ".git" suffix, which we never keep | ||||
|       // in our database, but clients might mistakenly provide anyway. | ||||
|       // | ||||
|       projectName = projectName.substring(0, projectName.length() - 4); | ||||
|       while (projectName.endsWith("/")) { | ||||
|         projectName = projectName.substring(0, projectName.length() - 1); | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     while (projectName.startsWith("/")) { | ||||
|       // Be nice and drop the leading "/" if supplied by an absolute path. | ||||
|       // We don't have a file system hierarchy, just a flat namespace in | ||||
| @@ -68,12 +58,25 @@ public class ProjectControlHandler extends OptionHandler<ProjectControl> { | ||||
|       projectName = projectName.substring(1); | ||||
|     } | ||||
|  | ||||
|     String nameWithoutSuffix = projectName; | ||||
|     if (nameWithoutSuffix.endsWith(Constants.DOT_GIT_EXT)) { | ||||
|       // Be nice and drop the trailing ".git" suffix, which we never keep | ||||
|       // in our database, but clients might mistakenly provide anyway. | ||||
|       // | ||||
|       nameWithoutSuffix = nameWithoutSuffix.substring(0, // | ||||
|           nameWithoutSuffix.length() - Constants.DOT_GIT_EXT.length()); | ||||
|       while (nameWithoutSuffix.endsWith("/")) { | ||||
|         nameWithoutSuffix = | ||||
|             nameWithoutSuffix.substring(0, nameWithoutSuffix.length() - 1); | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     final ProjectControl control; | ||||
|     try { | ||||
|       Project.NameKey nameKey = new Project.NameKey(projectName); | ||||
|       Project.NameKey nameKey = new Project.NameKey(nameWithoutSuffix); | ||||
|       control = projectControlFactory.validateFor(nameKey, ProjectControl.OWNER | ProjectControl.VISIBLE); | ||||
|     } catch (NoSuchProjectException e) { | ||||
|       throw new CmdLineException(owner, "'" + token + "': not a Gerrit project"); | ||||
|       throw new CmdLineException(owner, "'" + projectName + "': is not a Gerrit project"); | ||||
|     } | ||||
|  | ||||
|     setter.addValue(control); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Bruce Zu
					Bruce Zu