diff --git a/cgit-fix-print-tree.diff b/cgit-fix-print-tree.diff new file mode 100644 index 0000000..fa40e80 --- /dev/null +++ b/cgit-fix-print-tree.diff @@ -0,0 +1,20 @@ +--- ui-tree.c 2011-11-17 18:00:20.036822908 +0100 ++++ ui-tree.c 2011-11-17 18:01:22.396236999 +0100 +@@ -262,6 +262,7 @@ + unsigned char sha1[20]; + struct commit *commit; + const char *paths[] = {path, NULL}; ++ struct pathspec pathspec; + + if (!rev) + rev = ctx.qry.head; +@@ -283,6 +284,8 @@ + } + + match_path = path; +- read_tree_recursive(commit->tree, "", 0, 0, paths, walk_tree, NULL); ++ init_pathspec(&pathspec, paths); ++ read_tree_recursive(commit->tree, "", 0, 0, &pathspec, walk_tree, NULL); ++ free_pathspec(&pathspec); + ls_tail(); + } diff --git a/cgit.spec b/cgit.spec index 0074c9a..22c4079 100644 --- a/cgit.spec +++ b/cgit.spec @@ -33,6 +33,7 @@ Source2: cgitrc Patch: cgit-optflags.diff Patch1: cgit-git-1.7.6_build_fix.patch Patch2: cgit-CVE-2011-2711-fix.diff +Patch3: cgit-fix-print-tree.diff # Requirements for cgit BuildRequires: gnu-crypto libopenssl-devel libzip-devel # Requirements for cgitrc man page generation @@ -53,6 +54,7 @@ Authors: %patch -p1 %patch1 -p1 %patch2 -p1 +%patch3 rm -rf git mv git-%{git_version} git