summaryrefslogtreecommitdiff
path: root/log-tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'log-tree.c')
-rw-r--r--log-tree.c127
1 files changed, 5 insertions, 122 deletions
diff --git a/log-tree.c b/log-tree.c
index 17e976a637..04a68e0f57 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -3,57 +3,7 @@
#include "commit.h"
#include "log-tree.h"
-void init_log_tree_opt(struct log_tree_opt *opt)
-{
- memset(opt, 0, sizeof *opt);
- opt->ignore_merges = 1;
- opt->header_prefix = "";
- opt->commit_format = CMIT_FMT_RAW;
- diff_setup(&opt->diffopt);
-}
-
-int log_tree_opt_parse(struct log_tree_opt *opt, const char **av, int ac)
-{
- const char *arg;
- int cnt = diff_opt_parse(&opt->diffopt, av, ac);
- if (0 < cnt)
- return cnt;
- arg = *av;
- if (!strcmp(arg, "-r"))
- opt->diffopt.recursive = 1;
- else if (!strcmp(arg, "-t")) {
- opt->diffopt.recursive = 1;
- opt->diffopt.tree_in_recursive = 1;
- }
- else if (!strcmp(arg, "-m"))
- opt->ignore_merges = 0;
- else if (!strcmp(arg, "-c"))
- opt->combine_merges = 1;
- else if (!strcmp(arg, "--cc")) {
- opt->dense_combined_merges = 1;
- opt->combine_merges = 1;
- }
- else if (!strcmp(arg, "-v")) {
- opt->verbose_header = 1;
- opt->header_prefix = "diff-tree ";
- }
- else if (!strncmp(arg, "--pretty", 8)) {
- opt->verbose_header = 1;
- opt->header_prefix = "diff-tree ";
- opt->commit_format = get_commit_format(arg+8);
- }
- else if (!strcmp(arg, "--root"))
- opt->show_root_diff = 1;
- else if (!strcmp(arg, "--no-commit-id"))
- opt->no_commit_id = 1;
- else if (!strcmp(arg, "--always"))
- opt->always_show_header = 1;
- else
- return 0;
- return 1;
-}
-
-int log_tree_diff_flush(struct log_tree_opt *opt)
+int log_tree_diff_flush(struct rev_info *opt)
{
diffcore_std(&opt->diffopt);
if (diff_queue_is_empty()) {
@@ -73,7 +23,7 @@ int log_tree_diff_flush(struct log_tree_opt *opt)
return 1;
}
-static int diff_root_tree(struct log_tree_opt *opt,
+static int diff_root_tree(struct rev_info *opt,
const unsigned char *new, const char *base)
{
int retval;
@@ -93,7 +43,7 @@ static int diff_root_tree(struct log_tree_opt *opt,
return retval;
}
-static const char *generate_header(struct log_tree_opt *opt,
+static const char *generate_header(struct rev_info *opt,
const unsigned char *commit_sha1,
const unsigned char *parent_sha1,
const struct commit *commit)
@@ -129,7 +79,7 @@ static const char *generate_header(struct log_tree_opt *opt,
return this_header;
}
-static int do_diff_combined(struct log_tree_opt *opt, struct commit *commit)
+static int do_diff_combined(struct rev_info *opt, struct commit *commit)
{
unsigned const char *sha1 = commit->object.sha1;
@@ -142,7 +92,7 @@ static int do_diff_combined(struct log_tree_opt *opt, struct commit *commit)
return 0;
}
-int log_tree_commit(struct log_tree_opt *opt, struct commit *commit)
+int log_tree_commit(struct rev_info *opt, struct commit *commit)
{
struct commit_list *parents;
unsigned const char *sha1 = commit->object.sha1;
@@ -173,70 +123,3 @@ int log_tree_commit(struct log_tree_opt *opt, struct commit *commit)
}
return 0;
}
-
-int parse_whatchanged_opt(int ac, const char **av, struct whatchanged_opt *wcopt)
-{
- struct rev_info *rev = &wcopt->revopt;
- struct log_tree_opt *opt = &wcopt->logopt;
- const char **unrecognized = av+1;
- int left = 1;
-
- ac = setup_revisions(ac, av, rev, "HEAD");
- if (!strcmp(av[0], "show"))
- rev->no_walk = 1;
- while (1 < ac) {
- const char *arg = av[1];
- if (!strncmp(arg, "--pretty", 8)) {
- opt->commit_format = get_commit_format(arg + 8);
- }
- else if (!strcmp(arg, "--no-abbrev")) {
- wcopt->abbrev = 0;
- }
- else if (!strcmp(arg, "--abbrev")) {
- wcopt->abbrev = DEFAULT_ABBREV;
- }
- else if (!strcmp(arg, "--abbrev-commit")) {
- wcopt->abbrev_commit = 1;
- }
- else if (!strncmp(arg, "--abbrev=", 9)) {
- wcopt->abbrev = strtoul(arg + 9, NULL, 10);
- if (wcopt->abbrev && wcopt->abbrev < MINIMUM_ABBREV)
- wcopt->abbrev = MINIMUM_ABBREV;
- else if (40 < wcopt->abbrev)
- wcopt->abbrev = 40;
- }
- else if (!strcmp(arg, "--full-diff")) {
- wcopt->do_diff = 1;
- wcopt->full_diff = 1;
- }
- else {
- int cnt = log_tree_opt_parse(opt, av+1, ac-1);
- if (0 < cnt) {
- wcopt->do_diff = 1;
- av += cnt;
- ac -= cnt;
- continue;
- }
- *unrecognized++ = arg;
- left++;
- }
- ac--; av++;
- }
-
- if (wcopt->do_diff) {
- opt->diffopt.abbrev = wcopt->abbrev;
- opt->verbose_header = 0;
- opt->always_show_header = 0;
- opt->no_commit_id = 1;
- if (opt->combine_merges)
- opt->ignore_merges = 0;
- if (opt->dense_combined_merges)
- opt->diffopt.output_format = DIFF_FORMAT_PATCH;
- if (opt->diffopt.output_format == DIFF_FORMAT_PATCH)
- opt->diffopt.recursive = 1;
- if (!wcopt->full_diff && rev->prune_data)
- diff_tree_setup_paths(rev->prune_data, &opt->diffopt);
- diff_setup_done(&opt->diffopt);
- }
- return left;
-}