private def differentFolders()

in app/lib/GitChanges.scala [42:53]


  private def differentFolders(head: RevCommit, mergeBase: RevCommit, interestingPaths: Set[String])(implicit reader: ObjectReader): Set[String] = {
    val (rootPaths, subFolderPaths) = interestingPaths.partition(_ == "/")

    val affectedRootPaths = rootPaths.filter(_ => mergeBase.getTree != head.getTree)
    val affectedSubFolderPaths = if (subFolderPaths.isEmpty) Set.empty
    else {
      val treeFilter = AndTreeFilter.create(PathFilterGroup.createFromStrings(subFolderPaths.map(_.stripPrefix("/")).asJava), treeDiffFilter)
      walk(mergeBase.getTree, head.getTree)(treeFilter, postOrderTraversal = true).map(_.slashPrefixedPath + "/").toSet.filter(subFolderPaths)
    }

    affectedRootPaths ++ affectedSubFolderPaths
  }