Commit 50617b77af7b0af9788a0e4b09697e06067cb8f4

Stefan Sperling 2021-11-20T10:41:38

make tog use got_reflist_sort() instead of reloading refs while sorting them

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff --git a/tog/tog.c b/tog/tog.c
index deb6c22..d70c60a 100644
--- a/tog/tog.c
+++ b/tog/tog.c
@@ -6234,8 +6234,14 @@ input_ref_view(struct tog_view **new_view, struct tog_view *view, int ch)
 		break;
 	case 's':
 		s->sort_by_date = !s->sort_by_date;
-		tog_free_refs();
-		err = tog_load_refs(s->repo, s->sort_by_date);
+		err = got_reflist_sort(&tog_refs, s->sort_by_date ?
+		    got_ref_cmp_by_commit_timestamp_descending :
+		    got_ref_cmp_by_name, s->repo);
+		if (err)
+			break;
+		got_reflist_object_id_map_free(tog_refs_idmap);
+		err = got_reflist_object_id_map_create(&tog_refs_idmap,
+		    &tog_refs, s->repo);
 		if (err)
 			break;
 		ref_view_free_refs(s);