Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix: remove OpenOption parameters
The `OpenOption` parameters are not very useful, since files are usually opened read-only.
  • Loading branch information
ppkarwasz committed Apr 9, 2026
commit 940ef4c2c2e6bf855f35a1623e515c80af0416f7
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import java.nio.charset.StandardCharsets;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.OpenOption;
import java.nio.file.Path;
import java.security.MessageDigest;
import java.util.ArrayList;
Expand Down Expand Up @@ -89,20 +88,19 @@ public static byte[] blobId(final MessageDigest messageDigest, final byte[] data
*
* @param messageDigest The MessageDigest to use (for example SHA-1).
* @param data Path to the file to digest.
* @param options Options how to open the file.
* @return A generalized Git blob identifier.
* @throws IOException On error accessing the file.
* @since 1.22.0
*/
public static byte[] blobId(final MessageDigest messageDigest, final Path data, final OpenOption... options) throws IOException {
public static byte[] blobId(final MessageDigest messageDigest, final Path data) throws IOException {
messageDigest.reset();
if (Files.isSymbolicLink(data)) {
final byte[] linkTarget = Files.readSymbolicLink(data).toString().getBytes(StandardCharsets.UTF_8);
DigestUtils.updateDigest(messageDigest, gitBlobPrefix(linkTarget.length));
return DigestUtils.digest(messageDigest, linkTarget);
}
DigestUtils.updateDigest(messageDigest, gitBlobPrefix(Files.size(data)));
return DigestUtils.updateDigest(messageDigest, data, options).digest();
return DigestUtils.updateDigest(messageDigest, data).digest();
}

private static byte[] gitBlobPrefix(final long dataSize) {
Expand Down Expand Up @@ -149,21 +147,20 @@ static byte[] treeId(final MessageDigest messageDigest, final Collection<GitDire
*
* @param messageDigest The MessageDigest to use (for example SHA-1).
* @param data Path to the directory to digest.
* @param options Options how to open files within the directory.
* @return A generalized Git tree identifier.
* @throws IOException On error accessing the directory or its contents.
* @since 1.22.0
*/
public static byte[] treeId(final MessageDigest messageDigest, final Path data, final OpenOption... options) throws IOException {
public static byte[] treeId(final MessageDigest messageDigest, final Path data) throws IOException {
final List<GitDirectoryEntry> entries = new ArrayList<>();
try (DirectoryStream<Path> files = Files.newDirectoryStream(data)) {
for (final Path path : files) {
final GitDirectoryEntry.Type type = getGitDirectoryEntryType(path);
final byte[] rawObjectId;
if (type == GitDirectoryEntry.Type.DIRECTORY) {
rawObjectId = treeId(messageDigest, path, options);
rawObjectId = treeId(messageDigest, path);
} else {
rawObjectId = blobId(messageDigest, path, options);
rawObjectId = blobId(messageDigest, path);
}
entries.add(new GitDirectoryEntry(path, type, rawObjectId));
}
Expand Down