[Concept,3/7] patman: Show summary after scanning commits
Commit Message
From: Simon Glass <simon.glass@canonical.com>
When scanning commits for a series, show a summary notice with the
total count and how many were added or removed. This makes it easier
to see at a glance what changed during a scan operation.
Co-developed-by: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
---
tools/patman/cseries.py | 15 +++++++++++++++
tools/patman/test_cseries.py | 4 +++-
2 files changed, 18 insertions(+), 1 deletion(-)
@@ -803,13 +803,17 @@ class Cseries(cser_helper.CseriesHelper):
if i is not None:
del to_remove[i]
+ removed = 0
+ added = 0
for seq, cmt in enumerate(ser.commits):
if seq in to_remove:
_show_item('-', seq, to_remove[seq].subject)
del to_remove[seq]
+ removed += 1
if seq in to_add:
_show_item('+', seq, to_add[seq].subject)
del to_add[seq]
+ added += 1
else:
_show_item(' ', seq, cmt.subject)
seq = len(ser.commits)
@@ -823,6 +827,17 @@ class Cseries(cser_helper.CseriesHelper):
self._add_series_commits(ser, svid)
if not dry_run:
self.commit()
+ seq = len(ser.commits)
+ msg = ''
+ if added:
+ msg += f'{added} added'
+ if removed:
+ if msg:
+ msg += ', '
+ msg += f'{removed} removed'
+ if msg:
+ msg = f' ({msg})'
+ tout.notice(f'Scanned {seq} commit{self.plural(seq)}{msg}')
else:
self.rollback()
tout.info('Dry run completed')
@@ -3335,7 +3335,9 @@ Date: .*
with terminal.capture() as (out, _):
self.run_args('series', 'scan', '-M', pwork=True)
- self.assertEqual(expect, out.getvalue())
+ self.assertEqual(
+ expect + 'Scanned 3 commits (1 added, 1 removed)\n',
+ out.getvalue())
new_pcdict = cser.get_pcommit_dict(svid).values()
self.assertEqual(len(old_pcdict), len(new_pcdict))