Commit Diff


commit - 28714985ea3c103b203f5a30baaaf582b4961595
commit + d6ce02f1123a40ccc98f5dfd40168b6d8d986f95
blob - f25183814363b9d6c4c7e087e898de3d6e9d18a1
blob + be49c124bae5a2719cd00e9b503cad1467a5ad6e
--- lib/diff.c
+++ lib/diff.c
@@ -486,6 +486,16 @@ got_diff_tree(struct got_tree_object *tree1, struct go
 			struct got_tree_entry *te = NULL;
 			if (tree1)
 				te = match_entry_by_name(te2, tree1);
+			free(l2);
+			if (te) {
+				if (asprintf(&l2, "%s%s%s", label2,
+				    label2[0] ? "/" : "", te->name) == -1)
+					return got_error_from_errno();
+			} else {
+				if (asprintf(&l2, "%s%s%s", label2,
+				    label2[0] ? "/" : "", te2->name) == -1)
+					return got_error_from_errno();
+			}
 			err = diff_entry_new_old(te2, te, l2, diff_context,
 			    repo, outfile);
 			if (err)