From 7af882fe8efe154cbc2c1f1d5ac35234fcddcbab Mon Sep 17 00:00:00 2001 From: Rene Pfeuffer Date: Tue, 8 Oct 2019 16:19:30 +0200 Subject: [PATCH] Insert some logging --- .../sonia/scm/repository/spi/GitModifyCommand.java | 5 +++++ .../scm/repository/spi/LfsBlobStoreCleanFilter.java | 13 ++++++++++--- .../repository/spi/GitModifyCommand_LFSTest.java | 1 - 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitModifyCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitModifyCommand.java index 7c7f948846..72238e117e 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitModifyCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitModifyCommand.java @@ -6,6 +6,8 @@ import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.attributes.FilterCommandRegistry; import org.eclipse.jgit.revwalk.RevCommit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import sonia.scm.BadRequestException; import sonia.scm.ConcurrentModificationException; import sonia.scm.ContextEntry; @@ -30,6 +32,7 @@ import static sonia.scm.NotFoundException.notFound; public class GitModifyCommand extends AbstractGitCommand implements ModifyCommand { + private static final Logger LOG = LoggerFactory.getLogger(GitModifyCommand.class); private static final Striped REGISTER_LOCKS = Striped.lock(5); private final GitWorkdirFactory workdirFactory; @@ -109,12 +112,14 @@ public class GitModifyCommand extends AbstractGitCommand implements ModifyComman LfsBlobStoreCleanFilterFactory cleanFilterFactory = new LfsBlobStoreCleanFilterFactory(lfsBlobStoreFactory, repository, targetFile); String registerKey = "git-lfs clean -- '" + path + "'"; + LOG.info("register lfs filter command factory for command '{}'", registerKey); FilterCommandRegistry.register(registerKey, cleanFilterFactory::createFilter); try { addFileToGit(path); } catch (GitAPIException e) { throwInternalRepositoryException("could not add file to index", e); } finally { + LOG.info("unregister lfs filter command factory for command \"{}\"", registerKey); FilterCommandRegistry.unregister(registerKey); } } finally { diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/LfsBlobStoreCleanFilter.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/LfsBlobStoreCleanFilter.java index c320cf23d4..3ab8a3e8cf 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/LfsBlobStoreCleanFilter.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/LfsBlobStoreCleanFilter.java @@ -7,6 +7,8 @@ import org.eclipse.jgit.lfs.LfsPointer; import org.eclipse.jgit.lfs.lib.AnyLongObjectId; import org.eclipse.jgit.lfs.lib.LongObjectId; import org.eclipse.jgit.lib.Repository; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import sonia.scm.store.Blob; import sonia.scm.store.BlobStore; import sonia.scm.util.IOUtil; @@ -28,6 +30,7 @@ import static org.eclipse.jgit.lfs.lib.Constants.LONG_HASH_FUNCTION; */ public class LfsBlobStoreCleanFilter extends FilterCommand { + private static final Logger LOG = LoggerFactory.getLogger(LfsBlobStoreCleanFilter.class); private Lfs lfsUtil; private final BlobStore lfsBlobStore; @@ -44,20 +47,24 @@ public class LfsBlobStoreCleanFilter extends FilterCommand { @Override public int run() throws IOException { + LOG.info("running scm lfs filter for file {}", targetFile); DigestOutputStream digestOutputStream = createDigestStream(); try { long size = ByteStreams.copy(in, digestOutputStream); AnyLongObjectId loid = LongObjectId.fromRaw(digestOutputStream.getMessageDigest().digest()); + String hash = loid.getName(); - Blob existingBlob = lfsBlobStore.get(loid.getName()); + Blob existingBlob = lfsBlobStore.get(hash); if (existingBlob != null) { + LOG.info("found existing lfs blob for oid {}", hash); long blobSize = existingBlob.getSize(); if (blobSize != size) { // Mathematicians say this will never happen - throw new RuntimeException("lfs entry already exists for loid " + loid.getName() + " but has wrong size"); + throw new RuntimeException("lfs entry already exists for loid " + hash + " but has wrong size"); } } else { - Blob newBlob = lfsBlobStore.create(loid.getName()); + LOG.info("uploading new lfs blob for oid {}", hash); + Blob newBlob = lfsBlobStore.create(hash); OutputStream outputStream = newBlob.getOutputStream(); Files.copy(targetFile, outputStream); newBlob.commit(); diff --git a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitModifyCommand_LFSTest.java b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitModifyCommand_LFSTest.java index 8ecca84812..b0b2b675b4 100644 --- a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitModifyCommand_LFSTest.java +++ b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitModifyCommand_LFSTest.java @@ -65,7 +65,6 @@ public class GitModifyCommand_LFSTest extends AbstractGitCommandTestBase { @Test public void shouldCreateSecondCommits() throws IOException, GitAPIException { - new GitLfsFilterModule().configure(null); createCommit("new_lfs.png", "new content", "fe32608c9ef5b6cf7e3f946480253ff76f24f4ec0678f3d0f07f9844cbff9601", new ByteArrayOutputStream()); ByteArrayOutputStream outputStream = new ByteArrayOutputStream();