# # # patch "asciik.cc" # from [6c4d34a89644e4bd6712289b7bb32d0a1f1fb877] # to [6c7c24a0bb3cef25de1f65ef6cc536fdc28b82a8] # # patch "cmd_diff_log.cc" # from [62f7a53a0e53ec08b67e4b8a780bf851d1d82406] # to [7cfa5de8d4ac5d1ca271c7d4501f088122e225ac] # ============================================================ --- asciik.cc 6c4d34a89644e4bd6712289b7bb32d0a1f1fb877 +++ asciik.cc 6c7c24a0bb3cef25de1f65ef6cc536fdc28b82a8 @@ -162,9 +162,9 @@ asciik::links_cross(const setfirst, j = link->second; if (i != j) - for (size_t coord = 2 * min(i, j) + 1, end = 2 * max(i, j); - coord < end; ++coord) - crosses.insert(coord); + for (size_t coord = 2 * min(i, j) + 1, end = 2 * max(i, j); + coord < end; ++coord) + crosses.insert(coord); } } @@ -194,40 +194,40 @@ asciik::draw(const size_t curr_items, co { size_t i = link->first, j = link->second, start, end, dot; if (i == j) - interline[2 * i] = '|'; + interline[2 * i] = '|'; else { - if (j < i) - { - // | .---o - // |/| | | - // 0 1 2 3 - // j i - // 0123456 - // s e - start = 2 * j + 3; - end = 2 * i; - dot = start - 1; - interline[dot - 1] = '/'; - } - else // j > i - { - // o---. - // | | |\| - // 0 1 2 3 - // i j - // 0123456 - // s e - start = 2 * i + 1; - end = 2 * j - 2; - dot = end; - interline[dot + 1] = '\\'; - } - if (end > start) - { - dots.insert(dot); - for (size_t l = start; l < end; ++l) - line[l] = '-'; - } + if (j < i) + { + // | .---o + // |/| | | + // 0 1 2 3 + // j i + // 0123456 + // s e + start = 2 * j + 3; + end = 2 * i; + dot = start - 1; + interline[dot - 1] = '/'; + } + else // j > i + { + // o---. + // | | |\| + // 0 1 2 3 + // i j + // 0123456 + // s e + start = 2 * i + 1; + end = 2 * j - 2; + dot = end; + interline[dot + 1] = '\\'; + } + if (end > start) + { + dots.insert(dot); + for (size_t l = start; l < end; ++l) + line[l] = '-'; + } } // prepare the proper continuation line interline2[j * 2] = '|'; @@ -281,15 +281,15 @@ asciik::try_draw(const vector::const_iterator found = - find(next_row.begin(), next_row.end(), idx(curr_row, i)); + find(next_row.begin(), next_row.end(), idx(curr_row, i)); if (found != next_row.end()) { - size_t j = distance(next_row.begin(), found); - size_t d = abs(i - j); - if (d > 1) - return false; - if (d != 0) - have_shift = true; - preservation_links.insert(pair(i, j)); + size_t j = distance(next_row.begin(), found); + size_t d = abs(i - j); + if (d > 1) + return false; + if (d != 0) + have_shift = true; + preservation_links.insert(pair(i, j)); } } } @@ -299,14 +299,14 @@ asciik::try_draw(const vector 1) && have_shift) - return false; - parent_links.insert(pair(i, j)); + size_t i = curr_loc; + size_t j = distance(next_row.begin(), + find(next_row.begin(), next_row.end(), *p)); + I(j < next_items); + size_t d = abs(i - j); + if ((d > 1) && have_shift) + return false; + parent_links.insert(pair(i, j)); } set preservation_crosses, parent_crosses, intersection_crosses; ============================================================ --- cmd_diff_log.cc 62f7a53a0e53ec08b67e4b8a780bf851d1d82406 +++ cmd_diff_log.cc 7cfa5de8d4ac5d1ca271c7d4501f088122e225ac @@ -557,10 +557,10 @@ log_certs(ostream & os, app_state & app, os << separator; if (multiline) - os << "\n\n"; + os << "\n\n"; os << tv; if (newline) - os << "\n"; + os << "\n"; first = false; } @@ -823,17 +823,17 @@ CMD(log, N_("informative"), N_("[FILE] . if (print_this) { - ostringstream out; + ostringstream out; if (app.opts.brief) { out << rid; - log_certs(out, app, rid, author_name); - if (app.opts.no_graph) - log_certs(out, app, rid, date_name); - else { - out << '\n'; - log_certs(out, app, rid, date_name, string(), string(), false, false); - } + log_certs(out, app, rid, author_name); + if (app.opts.no_graph) + log_certs(out, app, rid, date_name); + else { + out << '\n'; + log_certs(out, app, rid, date_name, string(), string(), false, false); + } log_certs(out, app, rid, branch_name); out << '\n'; } @@ -880,7 +880,7 @@ CMD(log, N_("informative"), N_("[FILE] . e != rev.edges.end(); ++e) { dump_diffs(edge_changes(e), app, true, out, - diff_paths, !mask.empty()); + diff_paths, !mask.empty()); } } @@ -893,16 +893,16 @@ CMD(log, N_("informative"), N_("[FILE] . last--; } - string out_system; - utf8_to_system(utf8(out.str()), out_system); - if (app.opts.no_graph) - cout << out_system; - else { - // an ASCII-k graph was requested - set parents; - app.db.get_revision_parents(rid, parents); - graph.print(rid, parents, out_system); - } + string out_system; + utf8_to_system_best_effort(utf8(out.str()), out_system); + if (app.opts.no_graph) + cout << out_system; + else { + // an ASCII-k graph was requested + set parents; + app.db.get_revision_parents(rid, parents); + graph.print(rid, parents, out_system); + } } set interesting;