SHA256
1
0
forked from pool/cgit

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:
Stephan Kulow 2011-11-25 10:11:44 +00:00 committed by Git OBS Bridge
commit 5866200526
3 changed files with 37 additions and 0 deletions

20
cgit-fix-print-tree.diff Normal file
View 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();
}

View File

@ -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

View File

@ -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