         } else {
             specifier = treeish
         }
-        let response = try Git.runPopen([Git.tool, "-C", path.asString, "rev-parse", "--verify", specifier]).chomp()
+        let response = try runPopen([Git.tool, "-C", path.asString, "rev-parse", "--verify", specifier]).chomp()
         if let hash = Hash(response) {
             return hash
         } else {

    /// Read a tree object.
    func read(tree hash: Hash) throws -> Tree {
        // Get the contents using `ls-tree`.
        let treeInfo = try Git.runPopen([Git.tool, "-C", path.asString, "ls-tree", hash.bytes.asString!])

        var contents: [Tree.Entry] = []
        for line in treeInfo.components(separatedBy: "\n") {

    case malformedResponse(String)
}

/// A basic `git` repository. This class is thread safe.
//
// FIXME: Currently, this class is serving two goals, it is the Repository
// interface used by `RepositoryProvider`, but is also a class which can be
