[Concept,19/24] pickman: Stop poll on errors
Commit Message
From: Simon Glass <simon.glass@canonical.com>
Change poll to stop on errors rather than continuing, since errors
like permission denied are not recoverable by retrying.
Co-developed-by: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
---
tools/pickman/agent.py | 3 +++
tools/pickman/control.py | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
@@ -72,6 +72,8 @@ Steps to follow:
- For regular commits: git cherry-pick -x <hash>
- For merge commits (identified by "Merge" in subject): git cherry-pick -x -m 1 --allow-empty <hash>
Cherry-pick one commit at a time to handle each appropriately.
+ IMPORTANT: Always include merge commits even if they result in empty commits.
+ The merge commit message is important for tracking history.
4. If there are conflicts:
- Show the conflicting files
- Try to resolve simple conflicts automatically
@@ -91,6 +93,7 @@ Important:
- Stop immediately if there's a conflict that cannot be auto-resolved
- Do not force push or modify history
- If cherry-pick fails, run 'git cherry-pick --abort'
+- NEVER skip merge commits - always use --allow-empty to preserve them
"""
options = ClaudeAgentOptions(
@@ -907,7 +907,7 @@ def do_poll(args, dbs):
try:
ret = do_step(args, dbs)
if ret != 0:
- tout.warning(f'Step returned {ret}, continuing anyway...')
+ tout.warning(f'step returned {ret}')
tout.info('')
tout.info(f'Sleeping {interval} seconds...')
time.sleep(interval)