@@ -312,43 +312,47 @@ TransactionTable::Impl::Impl(ITransaction & transaction) {
312312 scols_cell_set_color (scols_line_get_cell (ln_reason, COL_NAME), replaced_color);
313313 section.set_last_line (ln_reason);
314314 }
315- for (auto & replaced : tspkg->get_replaces ()) {
316- // highlight incoming packages with epoch/version change
317- if (tspkg->get_package ()->get_epoch () != replaced->get_epoch () ||
318- tspkg->get_package ()->get_version () != replaced->get_version ()) {
319- auto cl_evr = scols_line_get_cell (ln, COL_EVR);
320- scols_cell_set_color (cl_evr, " bold" );
321- }
315+ auto replacing_same_pkg = tspkg->get_replaces ().size () == 1 &&
316+ tspkg->get_package ()->get_name () == tspkg->get_replaces ().front ()->get_name ();
317+ if (!replacing_same_pkg) {
318+ for (auto & replaced : tspkg->get_replaces ()) {
319+ // highlight incoming packages with epoch/version change
320+ if (tspkg->get_package ()->get_epoch () != replaced->get_epoch () ||
321+ tspkg->get_package ()->get_version () != replaced->get_version ()) {
322+ auto cl_evr = scols_line_get_cell (ln, COL_EVR);
323+ scols_cell_set_color (cl_evr, " bold" );
324+ }
322325
323- struct libscols_line * ln_replaced = scols_table_new_line (*tb, ln);
324- // TODO(jmracek) Translate it
325- std::string name (" replacing " );
326- name.append (replaced->get_name ());
327- scols_line_set_data (ln_replaced, COL_NAME, (" " + name).c_str ());
328- scols_line_set_data (ln_replaced, COL_ARCH, replaced->get_arch ().c_str ());
329- scols_line_set_data (ln_replaced, COL_EVR, replaced->get_evr ().c_str ());
330- scols_line_set_data (ln_replaced, COL_REPO, replaced->get_from_repo_id ().c_str ());
326+ struct libscols_line * ln_replaced = scols_table_new_line (*tb, ln);
327+ // TODO(jmracek) Translate it
328+ std::string name (" replacing " );
329+ name.append (replaced->get_name ());
330+ scols_line_set_data (ln_replaced, COL_NAME, (" " + name).c_str ());
331+ scols_line_set_data (ln_replaced, COL_ARCH, replaced->get_arch ().c_str ());
332+ scols_line_set_data (ln_replaced, COL_EVR, replaced->get_evr ().c_str ());
333+ scols_line_set_data (ln_replaced, COL_REPO, replaced->get_from_repo_id ().c_str ());
331334
332- auto replaced_size = static_cast <int64_t >(replaced->get_install_size ());
333- scols_line_set_data (
334- ln_replaced, COL_SIZE, libdnf5::cli::utils::units::format_size_aligned (replaced_size).c_str ());
335- auto replaced_color = action_color (libdnf5::transaction::TransactionItemAction::REPLACED);
336- auto obsoleted_color = " brown" ;
335+ auto replaced_size = static_cast <int64_t >(replaced->get_install_size ());
336+ scols_line_set_data (
337+ ln_replaced, COL_SIZE, libdnf5::cli::utils::units::format_size_aligned (replaced_size).c_str ());
338+ auto replaced_color = action_color (libdnf5::transaction::TransactionItemAction::REPLACED);
339+ auto obsoleted_color = " brown" ;
337340
338- scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_EVR), replaced_color);
339- if (pkg->get_arch () == replaced->get_arch ()) {
340- scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_ARCH), replaced_color);
341- } else {
342- scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_ARCH), obsoleted_color);
343- }
344- if (pkg->get_name () == replaced->get_name ()) {
345- scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_NAME), replaced_color);
346- } else {
347- scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_NAME), obsoleted_color);
341+ scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_EVR), replaced_color);
342+ if (pkg->get_arch () == replaced->get_arch ()) {
343+ scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_ARCH), replaced_color);
344+ } else {
345+ scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_ARCH), obsoleted_color);
346+ }
347+ if (pkg->get_name () == replaced->get_name ()) {
348+ scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_NAME), replaced_color);
349+ } else {
350+ scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_NAME), obsoleted_color);
351+ }
352+ scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_REPO), replaced_color);
353+ scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_SIZE), replaced_color);
354+ section.set_last_line (ln_replaced);
348355 }
349- scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_REPO), replaced_color);
350- scols_cell_set_color (scols_line_get_cell (ln_replaced, COL_SIZE), replaced_color);
351- section.set_last_line (ln_replaced);
352356 }
353357 }
354358
0 commit comments