commit - 4c662b1dc9113e3f0bbf38b33e085977f6452e27
commit + 0e33f8e0becf732ab33b3ce78c026790a651a5f9
blob - e51b31591be4a61c6c86bf3ebe0f6e6fdd563947
blob + 45d01283724d60b70477b3bdbdb99e791571c59e
--- lib/worktree.c
+++ lib/worktree.c
report_single_file_status(const char *path, const char *ondisk_path,
struct got_fileindex *fileindex, got_worktree_status_cb status_cb,
void *status_arg, struct got_repository *repo, int report_unchanged,
- struct got_pathlist_head *ignores)
+ struct got_pathlist_head *ignores, int no_ignores)
{
struct got_fileindex_entry *ie;
struct stat sb;
- if (match_ignores(ignores, path))
+ if (!no_ignores && match_ignores(ignores, path))
return NULL;
ie = got_fileindex_entry_get(fileindex, path, strlen(path));
}
err = report_single_file_status(path, ondisk_path,
fileindex, status_cb, status_arg, repo,
- report_unchanged, &ignores);
+ report_unchanged, &ignores, no_ignores);
}
} else {
fdiff_cb.diff_old_new = status_old_new;
struct got_pathlist_entry *pe;
TAILQ_FOREACH(pe, merged_paths, entry) {
err = worktree_status(worktree, pe->path, fileindex,
- repo, collect_commitables, &cc_arg, NULL, NULL, 0,
+ repo, collect_commitables, &cc_arg, NULL, NULL, 1,
0);
if (err)
goto done;
}
} else {
err = worktree_status(worktree, "", fileindex, repo,
- collect_commitables, &cc_arg, NULL, NULL, 0, 0);
+ collect_commitables, &cc_arg, NULL, NULL, 1, 0);
if (err)
goto done;
}