Commit Diff


commit - 7310c1c396a8a6126c9feed52a5243917fb4af99
commit + 0e9101d513f190e450c8b76491dde10235ee2f3e
blob - 2e7bb672d0316dd4f4ef2ad74ecf15b916fc2e03
blob + 281577b6a2d8b1376c2322356aee96deee56453d
--- lib/commit_graph.c
+++ lib/commit_graph.c
@@ -191,22 +191,23 @@ detect_changed_path(int *changed, struct got_commit_ob
 		} else
 			*changed = 1; /* The path was created in this commit. */
 		free(obj_id);
-	} else {
-		err = got_object_open_as_tree(&tree, repo, commit->tree_id);
-		if (err)
-			return err;
+		return err;
+	}
 
-		err = got_object_open_as_commit(&pcommit, repo, pid->id);
-		if (err)
-			goto done;
-
-		err = got_object_open_as_tree(&ptree, repo, pcommit->tree_id);
-		if (err)
-			goto done;
+	err = got_object_open_as_tree(&tree, repo, commit->tree_id);
+	if (err)
+		return err;
 
-		err = got_object_tree_path_changed(changed, tree, ptree, path,
-		    repo);
-	}
+	err = got_object_open_as_commit(&pcommit, repo, pid->id);
+	if (err)
+		goto done;
+
+	err = got_object_open_as_tree(&ptree, repo, pcommit->tree_id);
+	if (err)
+		goto done;
+
+	err = got_object_tree_path_changed(changed, tree, ptree, path,
+	    repo);
 done:
 	if (tree)
 		got_object_tree_close(tree);