Accepting request 93005 from devel:tools:scm
- Add patch cgit-fix-print-tree.diff: 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 no t 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/93005 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cgit?expand=0&rev=8
This commit is contained in:
commit
5866200526
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();
|
||||
}
|
15
cgit.changes
15
cgit.changes
@ -1,3 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 22 09:24:35 UTC 2011 - saschpe@suse.de
|
||||
|
||||
- Add patch cgit-fix-print-tree.diff:
|
||||
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
|
||||
no t 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.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 14 10:13:03 CEST 2011 - tiwai@suse.de
|
||||
|
||||
|
@ -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