| 637 | } |
| 638 | |
| 639 | static void wt_status_collect_changes_worktree(struct wt_status *s) |
| 640 | { |
| 641 | struct rev_info rev; |
| 642 | |
| 643 | repo_init_revisions(s->repo, &rev, NULL); |
| 644 | setup_revisions(0, NULL, &rev, NULL); |
| 645 | rev.diffopt.output_format |= DIFF_FORMAT_CALLBACK; |
| 646 | rev.diffopt.flags.dirty_submodules = 1; |
| 647 | rev.diffopt.ita_invisible_in_index = 1; |
| 648 | if (!s->show_untracked_files) |
| 649 | rev.diffopt.flags.ignore_untracked_in_submodules = 1; |
| 650 | if (s->ignore_submodule_arg) { |
| 651 | rev.diffopt.flags.override_submodule_config = 1; |
| 652 | handle_ignore_submodules_arg(&rev.diffopt, s->ignore_submodule_arg); |
| 653 | } else if (!rev.diffopt.flags.ignore_submodule_set && |
| 654 | s->show_untracked_files != SHOW_NO_UNTRACKED_FILES) |
| 655 | handle_ignore_submodules_arg(&rev.diffopt, "none"); |
| 656 | rev.diffopt.format_callback = wt_status_collect_changed_cb; |
| 657 | rev.diffopt.format_callback_data = s; |
| 658 | rev.diffopt.detect_rename = s->detect_rename >= 0 ? s->detect_rename : rev.diffopt.detect_rename; |
| 659 | rev.diffopt.rename_limit = s->rename_limit >= 0 ? s->rename_limit : rev.diffopt.rename_limit; |
| 660 | rev.diffopt.rename_score = s->rename_score >= 0 ? s->rename_score : rev.diffopt.rename_score; |
| 661 | copy_pathspec(&rev.prune_data, &s->pathspec); |
| 662 | run_diff_files(&rev, 0); |
| 663 | release_revisions(&rev); |
| 664 | } |
| 665 | |
| 666 | static void wt_status_collect_changes_index(struct wt_status *s) |
| 667 | { |
no test coverage detected