Accepting request 91993 from home:olta:haiku-admin
The cgit build fix with respect to git-1.7.6 is incomplete: in the file ui-tree.c ls_tree() has been patched to use pathspec when invoking read_tree_recursive(), but cgit_print_tree() has not been touched. The resulting problem can be seen when browsing the tree of a cgit repository: when you "drill down" into subfolders, parts of the parent folder's contents will appear in the listing. This patch adjusts cgit_print_tree() accordingly, which fixes the problem. OBS-URL: https://build.opensuse.org/request/show/91993 OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/cgit?expand=0&rev=9
This commit is contained in:
parent
bd71d7a431
commit
061574b9dd
20
cgit-fix-print-tree.diff
Normal file
20
cgit-fix-print-tree.diff
Normal file
@ -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();
|
||||
}
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user