[git] minor: deal with some NPE warnings
authorJulia Beliaeva <Julia.Beliaeva@jetbrains.com>
Sat, 8 Oct 2016 19:22:22 +0000 (22:22 +0300)
committerJulia Beliaeva <Julia.Beliaeva@jetbrains.com>
Tue, 11 Oct 2016 16:32:30 +0000 (19:32 +0300)
plugins/git4idea/src/git4idea/history/GitHistoryUtils.java

index 45e06ab6de478739a222d1e77048bec9286fa3d1..5a7717713f26b4b6d6e6308c3fb770b89b27c066 100644 (file)
@@ -65,6 +65,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 
+import static com.intellij.util.ObjectUtils.notNull;
 import static git4idea.history.GitLogParser.GitLogOption.*;
 
 /**
@@ -425,10 +426,10 @@ public class GitHistoryUtils {
     GitLogRecord record = records.get(0);
     final List<Change> changes = record.parseChanges(project, root);
     for (Change change : changes) {
-      if ((change.isMoved() || change.isRenamed()) && filePath.equals(change.getAfterRevision().getFile())) {
+      if ((change.isMoved() || change.isRenamed()) && filePath.equals(notNull(change.getAfterRevision()).getFile())) {
         final String[] parents = record.getParentsHashes();
         String parent = parents.length > 0 ? parents[0] : null;
-        return Pair.create(parent, change.getBeforeRevision().getFile());
+        return Pair.create(parent, notNull(change.getBeforeRevision()).getFile());
       }
     }
     return null;
@@ -1005,6 +1006,7 @@ public class GitHistoryUtils {
 
     String output = h.run();
     GitLogRecord logRecord = parser.parseOneRecord(output);
+    if (logRecord == null) throw new VcsException("Can not parse log output \"" + output + "\"");
     return logRecord.getAuthorTimeStamp();
   }