Simplify push error message when ref already exists

If a client attempts to create a branch that already exists on the
remote side, tell them "already exists" rather than repeat lots of
information about the reference. Previously the error looked like:

  ! [remote rejected] tags/1.3.1 -> 1.3.1 (Ref Ref[refs/tags/1.3.1=e3857ee05...] already exists)

Now it will simply say:

  ! [remote rejected] tags/1.3.1 -> 1.3.1 (already exists)

Change-Id: I96fc67ca8b650052de6e662449a3c5bc8bbc010b
This commit is contained in:
Shawn O. Pearce 2012-10-17 07:55:15 -07:00
parent 5fc7bd783b
commit 99e9a3bdc6
5 changed files with 7 additions and 6 deletions

View File

@ -377,7 +377,8 @@ readTimedOut=Read timed out
receivePackObjectTooLarge1=Object too large, rejecting the pack. Max object size limit is {0} bytes.
receivePackObjectTooLarge2=Object too large ({0} bytes), rejecting the pack. Max object size limit is {1} bytes.
receivingObjects=Receiving objects
refAlreadyExists=Ref {0} already exists
refAlreadyExists=already exists
refAlreadyExists1=Ref {0} already exists
reflogEntryNotFound=Entry {0} not found in reflog for ''{1}''
refNotResolved=Ref {0} can not be resolved
refUpdateReturnCodeWas=RefUpdate return code was: {0}

View File

@ -131,7 +131,7 @@ public Ref call() throws GitAPIException, RefAlreadyExistsException,
&& refToCheck.getName().startsWith(Constants.R_HEADS);
if (!force && exists)
throw new RefAlreadyExistsException(MessageFormat.format(
JGitText.get().refAlreadyExists, name));
JGitText.get().refAlreadyExists1, name));
ObjectId startAt = getStartPoint();
String startPointFullName = null;

View File

@ -108,7 +108,7 @@ public Ref call() throws GitAPIException, RefNotFoundException, InvalidRefNameEx
String fullNewName;
if (repo.getRef(newName) != null)
throw new RefAlreadyExistsException(MessageFormat.format(
JGitText.get().refAlreadyExists, newName));
JGitText.get().refAlreadyExists1, newName));
if (oldName != null) {
Ref ref = repo.getRef(oldName);
if (ref == null)

View File

@ -438,6 +438,7 @@ public static JGitText get() {
/***/ public String receivePackObjectTooLarge2;
/***/ public String receivingObjects;
/***/ public String refAlreadyExists;
/***/ public String refAlreadyExists1;
/***/ public String reflogEntryNotFound;
/***/ public String refNotResolved;
/***/ public String refUpdateReturnCodeWas;

View File

@ -55,7 +55,6 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
@ -1055,8 +1054,8 @@ protected void validateCommands() {
// A well behaved client shouldn't have sent us a
// create command for a ref we advertised to it.
//
cmd.setResult(Result.REJECTED_OTHER_REASON, MessageFormat
.format(JGitText.get().refAlreadyExists, ref));
cmd.setResult(Result.REJECTED_OTHER_REASON,
JGitText.get().refAlreadyExists);
continue;
}
}