Merge pull request #393 from skhome/364-exception-logging
* skhome-364-exception-logging: Improve logging of JGit exceptions
This commit is contained in:
@@ -225,13 +225,20 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository
|
||||
/* for testing */ boolean shouldPull(Git git, Ref ref) throws GitAPIException {
|
||||
boolean shouldPull;
|
||||
Status gitStatus = git.status().call();
|
||||
if (this.isForcePull() && !gitStatus.isClean()) {
|
||||
boolean isWorkingTreeClean = gitStatus.isClean();
|
||||
String originUrl = git.getRepository().getConfig().getString("remote", "origin",
|
||||
"url");
|
||||
|
||||
if (this.forcePull && !isWorkingTreeClean) {
|
||||
shouldPull = true;
|
||||
logDirty(gitStatus);
|
||||
}
|
||||
else {
|
||||
shouldPull = gitStatus.isClean() && ref != null && git.getRepository()
|
||||
.getConfig().getString("remote", "origin", "url") != null;
|
||||
shouldPull = isWorkingTreeClean && ref != null && originUrl != null;
|
||||
}
|
||||
if (!isWorkingTreeClean && !this.forcePull) {
|
||||
this.logger.info("Cannot pull from remote " + originUrl
|
||||
+ ", the working tree is not clean.");
|
||||
}
|
||||
return shouldPull;
|
||||
}
|
||||
@@ -270,9 +277,13 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository
|
||||
pull.call();
|
||||
}
|
||||
catch (Exception e) {
|
||||
this.logger.warn("Could not pull remote for " + label + " (current ref=" + ref
|
||||
+ "), remote: " + git.getRepository().getConfig().getString("remote",
|
||||
"origin", "url"));
|
||||
this.logger
|
||||
.warn("Could not pull remote for " + label + " (current ref=" + ref
|
||||
+ "), remote: "
|
||||
+ git.getRepository().getConfig().getString("remote",
|
||||
"origin", "url")
|
||||
+ ", cause: (" + e.getClass().getSimpleName() + ") "
|
||||
+ e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -100,6 +100,11 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
this.logger.debug("Cannot retrieve resource locations from "
|
||||
+ candidate.getUri() + ", cause: ("
|
||||
+ e.getClass().getSimpleName() + ") " + e.getMessage());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -130,8 +135,11 @@ public class MultipleJGitEnvironmentRepository extends JGitEnvironmentRepository
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
this.logger.info(
|
||||
"Cannot load configuration from " + candidate.getUri());
|
||||
if (logger.isDebugEnabled()) {
|
||||
this.logger.debug("Cannot load configuration from "
|
||||
+ candidate.getUri() + ", cause: ("
|
||||
+ e.getClass().getSimpleName() + ") " + e.getMessage());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -239,8 +239,13 @@ public class JGitEnvironmentRepositoryTests {
|
||||
Git git = mock(Git.class);
|
||||
StatusCommand statusCommand = mock(StatusCommand.class);
|
||||
Status status = mock(Status.class);
|
||||
Repository repository = mock(Repository.class);
|
||||
StoredConfig storedConfig = mock(StoredConfig.class);
|
||||
|
||||
when(git.status()).thenReturn(statusCommand);
|
||||
when(git.getRepository()).thenReturn(repository);
|
||||
when(repository.getConfig()).thenReturn(storedConfig);
|
||||
when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git");
|
||||
when(statusCommand.call()).thenReturn(status);
|
||||
when(status.isClean()).thenReturn(false);
|
||||
|
||||
@@ -258,8 +263,13 @@ public class JGitEnvironmentRepositoryTests {
|
||||
Git git = mock(Git.class);
|
||||
StatusCommand statusCommand = mock(StatusCommand.class);
|
||||
Status status = mock(Status.class);
|
||||
Repository repository = mock(Repository.class);
|
||||
StoredConfig storedConfig = mock(StoredConfig.class);
|
||||
|
||||
when(git.status()).thenReturn(statusCommand);
|
||||
when(git.getRepository()).thenReturn(repository);
|
||||
when(repository.getConfig()).thenReturn(storedConfig);
|
||||
when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git");
|
||||
when(statusCommand.call()).thenReturn(status);
|
||||
when(status.isClean()).thenReturn(true);
|
||||
|
||||
@@ -278,8 +288,13 @@ public class JGitEnvironmentRepositoryTests {
|
||||
StatusCommand statusCommand = mock(StatusCommand.class);
|
||||
Status status = mock(Status.class);
|
||||
Ref ref = mock(Ref.class);
|
||||
Repository repository = mock(Repository.class);
|
||||
StoredConfig storedConfig = mock(StoredConfig.class);
|
||||
|
||||
when(git.status()).thenReturn(statusCommand);
|
||||
when(git.getRepository()).thenReturn(repository);
|
||||
when(repository.getConfig()).thenReturn(storedConfig);
|
||||
when(storedConfig.getString("remote", "origin", "url")).thenReturn("http://example/git");
|
||||
when(statusCommand.call()).thenReturn(status);
|
||||
when(status.isClean()).thenReturn(false);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user