aboutsummaryrefslogtreecommitdiffstats
path: root/ui-tree.c
diff options
context:
space:
mode:
authorChristian Hesse2021-05-18 22:49:13 +0200
committerChristian Hesse2021-06-08 12:37:46 +0200
commit5258c297ba6fb604ae1415fbc19a3fe42457e49e (patch)
tree37e7aec5ddc583047da1126ffdc41a81f20cf1f6 /ui-tree.c
parent6dbbffe01533a91c79c4497c80f46af8e1581e25 (diff)
downloadcgit-5258c297ba6fb604ae1415fbc19a3fe42457e49e.tar.gz
cgit-5258c297ba6fb604ae1415fbc19a3fe42457e49e.tar.bz2
cgit-5258c297ba6fb604ae1415fbc19a3fe42457e49e.zip
git: update to v2.32.0
Update to git version v2.32.0, this requires changes for these upstream commits: * 47957485b3b731a7860e0554d2bd12c0dce1c75a tree.h API: simplify read_tree_recursive() signature Signed-off-by: Christian Hesse <mail@eworm.de>
Diffstat (limited to 'ui-tree.c')
-rw-r--r--ui-tree.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/ui-tree.c b/ui-tree.c
index 1e4efb2..b61f6f5 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -139,8 +139,7 @@ struct single_tree_ctx {
139}; 139};
140 140
141static int single_tree_cb(const struct object_id *oid, struct strbuf *base, 141static int single_tree_cb(const struct object_id *oid, struct strbuf *base,
142 const char *pathname, unsigned mode, int stage, 142 const char *pathname, unsigned mode, void *cbdata)
143 void *cbdata)
144{ 143{
145 struct single_tree_ctx *ctx = cbdata; 144 struct single_tree_ctx *ctx = cbdata;
146 145
@@ -185,8 +184,7 @@ static void write_tree_link(const struct object_id *oid, char *name,
185 tree_ctx.name = NULL; 184 tree_ctx.name = NULL;
186 tree_ctx.count = 0; 185 tree_ctx.count = 0;
187 186
188 read_tree_recursive(the_repository, tree, "", 0, 1, 187 read_tree(the_repository, tree, &paths, single_tree_cb, &tree_ctx);
189 &paths, single_tree_cb, &tree_ctx);
190 188
191 if (tree_ctx.count != 1) 189 if (tree_ctx.count != 1)
192 break; 190 break;
@@ -199,7 +197,7 @@ static void write_tree_link(const struct object_id *oid, char *name,
199} 197}
200 198
201static int ls_item(const struct object_id *oid, struct strbuf *base, 199static int ls_item(const struct object_id *oid, struct strbuf *base,
202 const char *pathname, unsigned mode, int stage, void *cbdata) 200 const char *pathname, unsigned mode, void *cbdata)
203{ 201{
204 struct walk_tree_context *walk_tree_ctx = cbdata; 202 struct walk_tree_context *walk_tree_ctx = cbdata;
205 char *name; 203 char *name;
@@ -294,14 +292,13 @@ static void ls_tree(const struct object_id *oid, const char *path, struct walk_t
294 } 292 }
295 293
296 ls_head(); 294 ls_head();
297 read_tree_recursive(the_repository, tree, "", 0, 1, 295 read_tree(the_repository, tree, &paths, ls_item, walk_tree_ctx);
298 &paths, ls_item, walk_tree_ctx);
299 ls_tail(); 296 ls_tail();
300} 297}
301 298
302 299
303static int walk_tree(const struct object_id *oid, struct strbuf *base, 300static int walk_tree(const struct object_id *oid, struct strbuf *base,
304 const char *pathname, unsigned mode, int stage, void *cbdata) 301 const char *pathname, unsigned mode, void *cbdata)
305{ 302{
306 struct walk_tree_context *walk_tree_ctx = cbdata; 303 struct walk_tree_context *walk_tree_ctx = cbdata;
307 304
@@ -326,7 +323,7 @@ static int walk_tree(const struct object_id *oid, struct strbuf *base,
326 return 0; 323 return 0;
327 } 324 }
328 } 325 }
329 ls_item(oid, base, pathname, mode, stage, walk_tree_ctx); 326 ls_item(oid, base, pathname, mode, walk_tree_ctx);
330 return 0; 327 return 0;
331} 328}
332 329
@@ -374,10 +371,8 @@ void cgit_print_tree(const char *rev, char *path)
374 goto cleanup; 371 goto cleanup;
375 } 372 }
376 373
377 read_tree_recursive(the_repository, 374 read_tree(the_repository, repo_get_commit_tree(the_repository, commit),
378 repo_get_commit_tree(the_repository, commit), 375 &paths, walk_tree, &walk_tree_ctx);
379 "", 0, 0,
380 &paths, walk_tree, &walk_tree_ctx);
381 if (walk_tree_ctx.state == 1) 376 if (walk_tree_ctx.state == 1)
382 ls_tail(); 377 ls_tail();
383 else if (walk_tree_ctx.state == 2) 378 else if (walk_tree_ctx.state == 2)