Browse Source

ChangeIdUtil: Don't throw IOException

This could have only happened during the getBytes call. Instead, use
Constants.encode, which is a non-throwing implementation.

This change is binary compatible with existing code compiled against
older versions of JGit, although it might break compilation of
previously compiling code due to dead catch blocks.

Change-Id: I191fec5cac718657407230de141440e86d0151fb
stable-4.3
Dave Borowitz 9 years ago
parent
commit
2ccea7f05a
  1. 8
      org.eclipse.jgit/src/org/eclipse/jgit/util/ChangeIdUtil.java

8
org.eclipse.jgit/src/org/eclipse/jgit/util/ChangeIdUtil.java

@ -42,7 +42,6 @@
*/ */
package org.eclipse.jgit.util; package org.eclipse.jgit.util;
import java.io.IOException;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Constants;
@ -90,12 +89,10 @@ public class ChangeIdUtil {
* The commit message * The commit message
* @return the change id SHA1 string (without the 'I') or null if the * @return the change id SHA1 string (without the 'I') or null if the
* message is not complete enough * message is not complete enough
* @throws IOException
*/ */
public static ObjectId computeChangeId(final ObjectId treeId, public static ObjectId computeChangeId(final ObjectId treeId,
final ObjectId firstParentId, final PersonIdent author, final ObjectId firstParentId, final PersonIdent author,
final PersonIdent committer, final String message) final PersonIdent committer, final String message) {
throws IOException {
String cleanMessage = clean(message); String cleanMessage = clean(message);
if (cleanMessage.length() == 0) if (cleanMessage.length() == 0)
return null; return null;
@ -116,8 +113,7 @@ public class ChangeIdUtil {
b.append("\n\n"); //$NON-NLS-1$ b.append("\n\n"); //$NON-NLS-1$
b.append(cleanMessage); b.append(cleanMessage);
try (ObjectInserter f = new ObjectInserter.Formatter()) { try (ObjectInserter f = new ObjectInserter.Formatter()) {
return f.idFor(Constants.OBJ_COMMIT, // return f.idFor(Constants.OBJ_COMMIT, Constants.encode(b.toString()));
b.toString().getBytes(Constants.CHARACTER_ENCODING));
} }
} }

Loading…
Cancel
Save