diff --git a/pom.xml b/pom.xml index 9bacb86381..1c3ba0b171 100644 --- a/pom.xml +++ b/pom.xml @@ -80,7 +80,7 @@ false Max - Medium + Low diff --git a/src/main/java/hudson/plugins/git/GitSCM.java b/src/main/java/hudson/plugins/git/GitSCM.java index 45dba933e6..410961919e 100644 --- a/src/main/java/hudson/plugins/git/GitSCM.java +++ b/src/main/java/hudson/plugins/git/GitSCM.java @@ -958,10 +958,6 @@ private static StandardUsernameCredentials lookupScanCredentials(@NonNull Run retrieveActions(@CheckForNull SCMSourceEvent event, @NonN target = target.substring(Constants.R_HEADS.length()); } List result = new ArrayList<>(); - if (target != null && !target.isBlank()) { + if (!target.isBlank()) { result.add(new GitRemoteHeadRefAction(getRemote(), target)); } return result; @@ -1159,7 +1159,7 @@ protected List retrieveActions(@CheckForNull SCMSourceEvent event, @NonN target = target.substring(Constants.R_HEADS.length()); } List result = new ArrayList<>(); - if (target != null && !target.isBlank()) { + if (!target.isBlank()) { result.add(new GitRemoteHeadRefAction(getRemote(), target)); } return result; @@ -1188,7 +1188,7 @@ protected List retrieveActions(@CheckForNull SCMSourceEvent event, @NonN target = target.substring(Constants.R_HEADS.length()); } List result = new ArrayList<>(); - if (target != null && !target.isBlank()) { + if (!target.isBlank()) { result.add(new GitRemoteHeadRefAction(getRemote(), target)); } return result; diff --git a/src/main/java/jenkins/plugins/git/GitToolChooser.java b/src/main/java/jenkins/plugins/git/GitToolChooser.java index ef71ba783c..faf8c043fb 100644 --- a/src/main/java/jenkins/plugins/git/GitToolChooser.java +++ b/src/main/java/jenkins/plugins/git/GitToolChooser.java @@ -269,17 +269,15 @@ private boolean setSizeFromInternalCache(String repoURL) { /** Cache the estimated repository size for variants of repository URL */ private void assignSizeToInternalCache(String repoURL, long repoSize) { repoURL = convertToCanonicalURL(repoURL); - if (repositorySizeCache.containsKey(repoURL)) { - long oldSize = repositorySizeCache.get(repoURL); - if (oldSize < repoSize) { - LOGGER.log(Level.FINE, "Replacing old repo size {0} with new size {1} for repo {2}", new Object[]{oldSize, repoSize, repoURL}); - repositorySizeCache.put(repoURL, repoSize); - } else if (oldSize > repoSize) { - LOGGER.log(Level.FINE, "Ignoring new size {1} in favor of old size {0} for repo {2}", new Object[]{oldSize, repoSize, repoURL}); - } - } else { + Long oldSize = repositorySizeCache.put(repoURL, repoSize); + if (oldSize == null) { LOGGER.log(Level.FINE, "Caching repo size {0} for repo {1}", new Object[]{repoSize, repoURL}); - repositorySizeCache.put(repoURL, repoSize); + } else if (oldSize < repoSize) { + LOGGER.log(Level.FINE, "Replaced old repo size {0} with new size {1} for repo {2}", new Object[]{oldSize, repoSize, repoURL}); + } else if (oldSize > repoSize) { + /* Put back the larger old repo size and log a warning. This is not harmful but should be quite rare */ + LOGGER.log(Level.WARNING, "Ignoring new repo size {1} in favor of old size {0} for repo {2}", new Object[]{oldSize, repoSize, repoURL}); + repositorySizeCache.put(repoURL, oldSize); } } diff --git a/src/spotbugs/excludesFilter.xml b/src/spotbugs/excludesFilter.xml new file mode 100644 index 0000000000..bf1e7ef977 --- /dev/null +++ b/src/spotbugs/excludesFilter.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +