João Salavisa
9fe2cbd874
fix: source commit pushed status from git remote, not PR commits ( #833 )
...
* fix: source commit pushed status from git remote, not PR commits
Commits showed as "not pushed" whenever the branch had no open PR,
since the UI derived pushed status by matching local SHAs against
the PR's commit list. Sourcing it from the upstream tracking ref in
agentctl's GetLog keeps the answer correct without a PR, after
rebases, and across multi-repo workspaces.
* fix: treat PR-matched commits as pushed alongside the git remote signal
mergeCommits now flags a commit as pushed when EITHER the backend's
git-sourced flag is true OR a PR commit matches by SHA. The git signal
fixes the original "no PR = unpushed" bug; the PR signal preserves the
"PR exists ⇒ commit is on remote" assumption that the E2E mocks rely
on (and that holds in practice, since GitHub PRs require pushed
branches). Also corrects the validation-path comment in
markPushedCommits to describe the actual non-branch fall-through.
* perf: bound rev-list walk in markPushedCommits to result length
Without -n the walk was unbounded — a branch with many local-only
commits would traverse full unpushed history per GetLog call. Capping
at len(commits) keeps the two walks proportional. rev-list walks
newest-first like GetLog, so the cap covers every commit we mark.
---------
Co-authored-by: Kandev Agent <agent@kandev.dev >
2026-05-05 22:09:02 +01:00
..
2026-05-05 13:55:46 +01:00
2026-05-05 19:14:57 +01:00
2026-02-19 22:18:01 +00:00
2026-05-05 22:06:24 +01:00
2026-03-07 14:53:21 +00:00
2026-05-05 22:06:24 +01:00
2026-03-10 17:30:04 +00:00
2026-05-01 13:27:25 +01:00
2026-02-24 20:33:45 +00:00
2026-04-18 10:32:24 +01:00
2026-04-28 22:23:14 +01:00
2026-05-02 20:26:42 +01:00
2026-05-02 20:26:42 +01:00
2026-05-02 20:26:42 +01:00
2026-05-05 22:09:02 +01:00
2026-05-02 20:26:42 +01:00
2026-05-02 20:26:42 +01:00
2026-05-04 17:28:04 +01:00
2026-05-04 17:28:04 +01:00
2026-05-04 17:28:04 +01:00
2026-05-05 22:09:02 +01:00
2026-05-02 20:26:42 +01:00
2026-05-05 13:55:46 +01:00
2026-02-21 22:14:56 +00:00
2026-02-23 00:16:37 +00:00
2026-02-19 22:18:01 +00:00
2026-05-02 20:26:42 +01:00
2026-05-02 20:26:42 +01:00
2026-05-02 20:26:42 +01:00
2026-05-02 20:26:42 +01:00
2026-05-04 18:53:33 +01:00
2026-05-05 13:55:46 +01:00
2026-04-28 22:23:14 +01:00
2026-05-01 22:32:28 +01:00
2026-05-02 20:26:42 +01:00
2026-05-04 18:53:33 +01:00
2026-05-04 18:53:33 +01:00
2026-05-02 15:19:02 +01:00
2026-05-03 17:32:29 +01:00
2026-05-02 15:19:02 +01:00
2026-03-13 10:44:32 +00:00
2026-02-24 23:01:41 +00:00
2026-02-19 22:18:01 +00:00
2026-05-04 18:53:33 +01:00
2026-04-09 12:49:47 +01:00
2026-04-11 17:43:21 +01:00
2026-02-19 22:18:01 +00:00
2026-04-25 21:42:59 +01:00
2026-04-11 17:43:21 +01:00
2026-04-11 17:43:21 +01:00
2026-03-24 23:38:02 +00:00
2026-03-24 23:38:02 +00:00
2026-02-19 22:18:01 +00:00
2026-02-19 22:18:01 +00:00
2026-04-02 00:08:35 +01:00
2026-04-11 17:43:21 +01:00
2026-04-11 17:43:21 +01:00
2026-02-19 22:18:01 +00:00
2026-03-29 15:33:40 +01:00
2026-02-19 22:18:01 +00:00
2026-03-12 23:22:26 +00:00
2026-03-24 23:38:02 +00:00
2026-04-24 21:31:46 +01:00
2026-04-24 21:31:46 +01:00
2026-05-01 11:00:33 +01:00
2026-05-01 11:00:33 +01:00
2026-04-20 13:44:24 +01:00
2026-05-01 22:32:28 +01:00
2026-05-01 21:02:41 +01:00
2026-05-02 15:19:02 +01:00
2026-03-13 10:44:32 +00:00
2026-05-05 13:55:46 +01:00
2026-05-05 13:55:46 +01:00
2026-03-08 11:03:30 +00:00
2026-05-01 18:01:17 +01:00
2026-05-05 13:55:46 +01:00
2026-05-05 13:55:46 +01:00
2026-05-01 21:02:41 +01:00
2026-05-02 22:25:40 +01:00
2026-05-02 22:25:40 +01:00
2026-05-02 22:25:40 +01:00
2026-05-02 22:25:40 +01:00
2026-05-02 22:25:40 +01:00
2026-05-02 22:25:40 +01:00
2026-03-02 22:47:21 +00:00
2026-04-25 18:40:31 +01:00
2026-03-29 15:33:40 +01:00
2026-05-01 11:00:33 +01:00
2026-04-20 22:31:09 +01:00
2026-04-20 22:31:09 +01:00
2026-05-05 13:55:46 +01:00
2026-02-19 22:18:01 +00:00
2026-05-01 11:00:33 +01:00
2026-04-30 14:05:35 +01:00
2026-02-19 22:18:01 +00:00
2026-04-20 13:44:24 +01:00
2026-05-05 13:55:46 +01:00
2026-04-17 23:20:10 +01:00
2026-02-19 22:18:01 +00:00
2026-03-07 14:53:21 +00:00
2026-04-02 00:08:35 +01:00
2026-04-17 16:46:08 +01:00
2026-05-02 20:26:42 +01:00
2026-05-05 19:14:57 +01:00
2026-04-08 07:55:24 +01:00
2026-04-17 23:20:10 +01:00
2026-05-02 20:26:42 +01:00
2026-02-19 22:18:01 +00:00
2026-03-03 12:41:51 +00:00
2026-05-02 23:01:21 +01:00
2026-05-05 22:06:24 +01:00
2026-02-26 11:26:30 +00:00
2026-05-05 14:13:43 +01:00
2026-05-02 20:26:42 +01:00
2026-05-04 19:20:37 +01:00
2026-04-27 10:22:58 +01:00
2026-04-27 10:22:58 +01:00
2026-04-27 10:22:58 +01:00
2026-04-27 10:22:58 +01:00
2026-04-27 10:22:58 +01:00
2026-04-27 10:22:58 +01:00
2026-02-25 02:10:16 +00:00
2026-05-02 15:19:02 +01:00
2026-04-29 09:56:26 +01:00
2026-05-02 20:26:42 +01:00
2026-05-05 22:06:24 +01:00
2026-02-19 22:18:01 +00:00
2026-05-05 22:06:24 +01:00
2026-04-20 13:44:24 +01:00
2026-05-05 22:06:24 +01:00
2026-05-04 19:20:37 +01:00
2026-03-29 22:27:37 +01:00
2026-05-01 13:27:25 +01:00
2026-04-24 17:14:03 +01:00
2026-05-04 00:53:21 +01:00
2026-05-04 00:53:21 +01:00
2026-05-01 13:27:25 +01:00
2026-05-02 15:19:02 +01:00
2026-04-27 10:22:58 +01:00
2026-05-02 20:26:42 +01:00
2026-05-05 13:55:46 +01:00
2026-04-24 17:14:03 +01:00
2026-03-08 11:03:30 +00:00
2026-02-24 23:01:41 +00:00
2026-04-16 10:14:45 +01:00
2026-02-19 22:18:01 +00:00
2026-02-19 22:18:01 +00:00
2026-05-01 13:27:25 +01:00