Index: Makefile --- Makefile.orig 2011-07-21 16:24:10.000000000 +0200 +++ Makefile 2011-08-10 22:56:40.000000000 +0200 @@ -158,10 +158,10 @@ EXTLIBS += -lcrypto endif -cgit: $(OBJECTS) libgit +cgit: $(OBJECTS) $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o cgit $(OBJECTS) $(EXTLIBS) -cgit.o: VERSION +cgit.o: cgit.c VERSION ifneq "$(MAKECMDGOALS)" "clean" -include $(OBJECTS:.o=.d) Index: shared.c --- shared.c.orig 2011-07-21 16:24:10.000000000 +0200 +++ shared.c 2011-08-10 22:55:23.000000000 +0200 @@ -303,7 +303,7 @@ filepair_fn fn, const char *prefix, int ignorews) { struct diff_options opt; - int prefixlen; + struct pathspec_item pitem; diff_setup(&opt); opt.output_format = DIFF_FORMAT_CALLBACK; @@ -315,10 +315,11 @@ opt.format_callback = cgit_diff_tree_cb; opt.format_callback_data = fn; if (prefix) { - opt.nr_paths = 1; - opt.paths = &prefix; - prefixlen = strlen(prefix); - opt.pathlens = &prefixlen; + opt.pathspec.nr = 1; + opt.pathspec.raw = &prefix; + pitem.match = prefix; + pitem.len = strlen(prefix); + opt.pathspec.items = &pitem; } diff_setup_done(&opt); Index: ui-stats.c --- ui-stats.c.orig 2011-07-21 16:24:10.000000000 +0200 +++ ui-stats.c 2011-08-10 22:55:34.000000000 +0200 @@ -239,7 +239,7 @@ init_revisions(&rev, NULL); rev.abbrev = DEFAULT_ABBREV; rev.commit_format = CMIT_FMT_DEFAULT; - rev.no_merges = 1; + rev.max_parents = 1; rev.verbose_header = 1; rev.show_root_diff = 0; setup_revisions(argc, argv, &rev, NULL); Index: ui-tree.c --- ui-tree.c.orig 2011-07-21 16:24:10.000000000 +0200 +++ ui-tree.c 2011-08-10 22:56:23.000000000 +0200 @@ -206,6 +206,8 @@ static void ls_tree(const unsigned char *sha1, char *path) { + const char *paths[] = { path, NULL }; + struct pathspec pathspec; struct tree *tree; tree = parse_tree_indirect(sha1); @@ -216,7 +218,9 @@ } ls_head(); - read_tree_recursive(tree, "", 0, 1, NULL, ls_item, NULL); + init_pathspec(&pathspec, paths); + read_tree_recursive(tree, "", 0, 1, &pathspec, ls_item, NULL); + free_pathspec(&pathspec); ls_tail(); }