* We don't care about the tree any more
* after it has been marked uninteresting.
*/
- free(tree->buffer);
- tree->buffer = NULL;
+ free_tree_buffer(tree);
}
void mark_parents_uninteresting(struct commit *commit)
revs->no_walk = 0;
if (revs->reflog_info && obj->type == OBJ_COMMIT) {
struct strbuf buf = STRBUF_INIT;
- int len = interpret_branch_name(name, &buf);
+ int len = interpret_branch_name(name, 0, &buf);
int st;
if (0 < len && name[len] && buf.len)
i++;
}
free_pathspec(&revs->prune_data);
- init_pathspec(&revs->prune_data, prune);
+ parse_pathspec(&revs->prune_data, PATHSPEC_ALL_MAGIC & ~PATHSPEC_LITERAL,
+ PATHSPEC_PREFER_FULL | PATHSPEC_LITERAL_PATH, "", prune);
revs->limited = 1;
}
static void append_prune_data(struct cmdline_pathspec *prune, const char **av)
{
while (*av) {
- ALLOC_GROW(prune->path, prune->nr+1, prune->alloc);
+ ALLOC_GROW(prune->path, prune->nr + 1, prune->alloc);
prune->path[prune->nr++] = *(av++);
}
}
int len = sb->len;
if (len && sb->buf[len - 1] == '\n')
sb->buf[--len] = '\0';
- ALLOC_GROW(prune->path, prune->nr+1, prune->alloc);
+ ALLOC_GROW(prune->path, prune->nr + 1, prune->alloc);
prune->path[prune->nr++] = xstrdup(sb->buf);
}
}
* call init_pathspec() to set revs->prune_data here.
* }
*/
- ALLOC_GROW(prune_data.path, prune_data.nr+1, prune_data.alloc);
+ ALLOC_GROW(prune_data.path, prune_data.nr + 1, prune_data.alloc);
prune_data.path[prune_data.nr++] = NULL;
- init_pathspec(&revs->prune_data,
- get_pathspec(revs->prefix, prune_data.path));
+ parse_pathspec(&revs->prune_data, 0, 0,
+ revs->prefix, prune_data.path);
}
if (revs->def == NULL)
revs->limited = 1;
if (revs->prune_data.nr) {
- diff_tree_setup_paths(revs->prune_data.raw, &revs->pruning);
+ copy_pathspec(&revs->pruning.pathspec, &revs->prune_data);
/* Can't prune commits with rename following: the paths change.. */
if (!DIFF_OPT_TST(&revs->diffopt, FOLLOW_RENAMES))
revs->prune = 1;
if (!revs->full_diff)
- diff_tree_setup_paths(revs->prune_data.raw, &revs->diffopt);
+ copy_pathspec(&revs->diffopt.pathspec,
+ &revs->prune_data);
}
if (revs->combine_merges)
revs->ignore_merges = 0;
if (revs->max_count) {
c = get_revision_1(revs);
if (c) {
- while (0 < revs->skip_count) {
+ while (revs->skip_count > 0) {
revs->skip_count--;
c = get_revision_1(revs);
if (!c)
if (c)
c->object.flags |= SHOWN;
- if (!revs->boundary) {
+ if (!revs->boundary)
return c;
- }
if (!c) {
/*
if (revs->reverse) {
reversed = NULL;
- while ((c = get_revision_internal(revs))) {
+ while ((c = get_revision_internal(revs)))
commit_list_insert(c, &reversed);
- }
revs->commits = reversed;
revs->reverse = 0;
revs->reverse_output_stage = 1;