merge-recursive: move call_depth to struct merge_options

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
This commit is contained in:
Miklos Vajna 2008-09-02 23:30:09 +02:00 коммит произвёл Junio C Hamano
Родитель 6eb1b43793
Коммит 5033639c95
2 изменённых файлов: 13 добавлений и 13 удалений

Просмотреть файл

@ -80,12 +80,11 @@ struct stage_data
static struct string_list current_file_set = {NULL, 0, 0, 1}; static struct string_list current_file_set = {NULL, 0, 0, 1};
static struct string_list current_directory_set = {NULL, 0, 0, 1}; static struct string_list current_directory_set = {NULL, 0, 0, 1};
static int call_depth = 0;
static struct strbuf obuf = STRBUF_INIT; static struct strbuf obuf = STRBUF_INIT;
static int show(struct merge_options *o, int v) static int show(struct merge_options *o, int v)
{ {
return (!call_depth && o->verbosity >= v) || o->verbosity >= 5; return (!o->call_depth && o->verbosity >= v) || o->verbosity >= 5;
} }
static void flush_output(void) static void flush_output(void)
@ -104,9 +103,9 @@ static void output(struct merge_options *o, int v, const char *fmt, ...)
if (!show(o, v)) if (!show(o, v))
return; return;
strbuf_grow(&obuf, call_depth * 2 + 2); strbuf_grow(&obuf, o->call_depth * 2 + 2);
memset(obuf.buf + obuf.len, ' ', call_depth * 2); memset(obuf.buf + obuf.len, ' ', o->call_depth * 2);
strbuf_setlen(&obuf, obuf.len + call_depth * 2); strbuf_setlen(&obuf, obuf.len + o->call_depth * 2);
va_start(ap, fmt); va_start(ap, fmt);
len = vsnprintf(obuf.buf + obuf.len, strbuf_avail(&obuf), fmt, ap); len = vsnprintf(obuf.buf + obuf.len, strbuf_avail(&obuf), fmt, ap);
@ -129,11 +128,11 @@ static void output(struct merge_options *o, int v, const char *fmt, ...)
flush_output(); flush_output();
} }
static void output_commit_title(struct commit *commit) static void output_commit_title(struct merge_options *o, struct commit *commit)
{ {
int i; int i;
flush_output(); flush_output();
for (i = call_depth; i--;) for (i = o->call_depth; i--;)
fputs(" ", stdout); fputs(" ", stdout);
if (commit->util) if (commit->util)
printf("virtual %s\n", (char *)commit->util); printf("virtual %s\n", (char *)commit->util);
@ -1230,8 +1229,8 @@ int merge_recursive(struct merge_options *o,
if (show(o, 4)) { if (show(o, 4)) {
output(o, 4, "Merging:"); output(o, 4, "Merging:");
output_commit_title(h1); output_commit_title(o, h1);
output_commit_title(h2); output_commit_title(o, h2);
} }
if (!ca) { if (!ca) {
@ -1242,7 +1241,7 @@ int merge_recursive(struct merge_options *o,
if (show(o, 5)) { if (show(o, 5)) {
output(o, 5, "found %u common ancestor(s):", commit_list_count(ca)); output(o, 5, "found %u common ancestor(s):", commit_list_count(ca));
for (iter = ca; iter; iter = iter->next) for (iter = ca; iter; iter = iter->next)
output_commit_title(iter->item); output_commit_title(o, iter->item);
} }
merged_common_ancestors = pop_commit(&ca); merged_common_ancestors = pop_commit(&ca);
@ -1258,7 +1257,7 @@ int merge_recursive(struct merge_options *o,
for (iter = ca; iter; iter = iter->next) { for (iter = ca; iter; iter = iter->next) {
const char *saved_b1, *saved_b2; const char *saved_b1, *saved_b2;
call_depth++; o->call_depth++;
/* /*
* When the merge fails, the result contains files * When the merge fails, the result contains files
* with conflict markers. The cleanness flag is * with conflict markers. The cleanness flag is
@ -1275,14 +1274,14 @@ int merge_recursive(struct merge_options *o,
NULL, &merged_common_ancestors); NULL, &merged_common_ancestors);
o->branch1 = saved_b1; o->branch1 = saved_b1;
o->branch2 = saved_b2; o->branch2 = saved_b2;
call_depth--; o->call_depth--;
if (!merged_common_ancestors) if (!merged_common_ancestors)
die("merge returned no commit"); die("merge returned no commit");
} }
discard_cache(); discard_cache();
if (!call_depth) { if (!o->call_depth) {
read_cache(); read_cache();
index_only = 0; index_only = 0;
} else } else

Просмотреть файл

@ -9,6 +9,7 @@ struct merge_options {
int verbosity; int verbosity;
int diff_rename_limit; int diff_rename_limit;
int merge_rename_limit; int merge_rename_limit;
int call_depth;
}; };
/* merge_trees() but with recursive ancestor consolidation */ /* merge_trees() but with recursive ancestor consolidation */