Uploaded image for project: 'ModeShape'
  1. ModeShape
  2. MODE-2000

Git Connector fails when trying to compute the differences if a commit has a single parent

    XMLWordPrintable

Details

    Description

      If a commit has a single parent, the Git Connector fails when trying to compute the differences with the following exception:

      org.modeshape.jcr.cache.DocumentStoreException: /commit/abd89cdd25e8736cb96b8eb6eb71cd951c85b436
      	at org.modeshape.connector.git.GitConnector.getDocumentById(GitConnector.java:255)
      	at org.modeshape.jcr.federation.FederatedDocumentStore.get(FederatedDocumentStore.java:263)
      	at org.modeshape.jcr.cache.document.WorkspaceCache.documentFor(WorkspaceCache.java:163)
      	at org.modeshape.jcr.cache.document.WorkspaceCache.documentFor(WorkspaceCache.java:182)
      	at org.modeshape.jcr.cache.document.WorkspaceCache.getNode(WorkspaceCache.java:214)
      	at org.modeshape.jcr.cache.document.AbstractSessionCache.getNode(AbstractSessionCache.java:237)
      	at org.modeshape.jcr.cache.document.WritableSessionCache.getNode(WritableSessionCache.java:168)
      	at org.modeshape.jcr.JcrSession.node(JcrSession.java:450)
      	at org.modeshape.jcr.AbstractJcrNode$ChildNodeResolver.nodeFrom(AbstractJcrNode.java:3491)
      	at org.modeshape.jcr.JcrChildNodeIterator.nextNode(JcrChildNodeIterator.java:113)
      	at org.modeshape.jcr.AbstractJcrRepositoryTest.navigate(AbstractJcrRepositoryTest.java:351)
      	at org.modeshape.connector.git.GitConnectorTest.shouldReadCommitSubgraph(GitConnectorTest.java:116)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
      	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
      	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
      	at org.junit.rules.RunRules.evaluate(RunRules.java:18)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
      	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
      	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
      	at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
      	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:77)
      	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)
      	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121)
      Caused by: java.lang.IllegalArgumentException: TreeWalk should have exactly two trees.
      	at org.eclipse.jgit.diff.DiffEntry.scan(DiffEntry.java:138)
      	at org.eclipse.jgit.diff.DiffEntry.scan(DiffEntry.java:114)
      	at org.modeshape.connector.git.GitCommitDetails.computeDifferences(GitCommitDetails.java:172)
      	at org.modeshape.connector.git.GitCommitDetails.execute(GitCommitDetails.java:119)
      	at org.modeshape.connector.git.GitConnector.getDocumentById(GitConnector.java:250)
      	... 47 more
      
      

      Attachments

        Activity

          People

            hchiorean Horia Chiorean (Inactive)
            hchiorean Horia Chiorean (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: