[PATCH] ui-plain: fix to show a repo's root directory listing in plain view

Joe Anakata jea-signup-cgit at anakata.org
Mon Feb 22 08:36:53 CET 2016


This is to fix the case of accessing http://host.com/cgit.cgi/repo.git/plain/

There is code here to make this case work (match_baselen is set to -1
for top-of-the-tree views) but the unsigned to signed comparison was
always false in this case, causing an empty directory listing without
this fix.

Signed-off-by: Joe Anakata <jea-signup-github at anakata.org>
---
 ui-plain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ui-plain.c b/ui-plain.c
index ff85113..b4e3bef 100644
--- a/ui-plain.c
+++ b/ui-plain.c
@@ -143,7 +143,7 @@ static int walk_tree(const unsigned char *sha1, struct strbuf *base,
 			walk_tree_ctx->match = 2;
 			return READ_TREE_RECURSIVE;
 		}
-	} else if (base->len > walk_tree_ctx->match_baselen) {
+	} else if ((int)base->len > walk_tree_ctx->match_baselen) {
 		print_dir_entry(sha1, base->buf, base->len, pathname, mode);
 		walk_tree_ctx->match = 2;
 	} else if (S_ISDIR(mode)) {
-- 
1.9.1


More information about the CGit mailing list