Commit Graph

70 Commits

Author SHA1 Message Date
Sameen Karim c26f8b0dfa use correct var in error msg 2026-03-24 23:10:04 -04:00
Sameen Karim b2ba2c224e throw error for non-numeric args 2026-03-24 23:09:24 -04:00
Sameen Karim b53bc7ad69 mock gh api client for tests 2026-03-24 17:54:56 -04:00
Sameen Karim b99f7257e0 set release version via ldflags 2026-03-24 17:29:39 -04:00
Sameen Karim 0869244c12 fix for help output properly showing "gh stack" 2026-03-24 17:08:54 -04:00
Sameen Karim 0c27492b71 more test coverage and clean up 2026-03-24 16:44:35 -04:00
Sameen Karim f03f9f3335 fix: return early from sync on rebase conflict
When a rebase conflict was detected during 'gh stack sync', the function
continued to push branches and reported 'Stack synced' with exit code 0.
Now it persists PR state and returns ErrConflict immediately, preventing
the confusing post-conflict push and success message.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-24 15:13:13 -04:00
Sameen Karim 30584211db default to named branches, numbering is a flag set on init 2026-03-24 14:00:23 -04:00
Sameen Karim 309e12a8ab skills file for agents 2026-03-24 11:08:35 -04:00
Sameen Karim 1304670224 flag to specify remote and bypass interactive prompt 2026-03-24 01:36:05 -04:00
Sameen Karim d6e6db7a45 json output mode for view 2026-03-24 01:13:10 -04:00
Sameen Karim 260497643a exit codes by error type 2026-03-24 00:38:04 -04:00
Sameen Karim 6e9927d124 rm update pr base logic, should all happen on server 2026-03-23 04:46:55 -04:00
Sameen Karim 1a1f49f2fb exit with nonzero status on error 2026-03-23 04:22:45 -04:00
Sameen Karim 50fdc33683 support commit msg editor, update stage all flag to match git commit, better error handling 2026-03-23 03:54:12 -04:00
Sameen Karim 14364a2408 waterfall pr lookup by url, number, branch name 2026-03-22 21:28:50 -06:00
Sameen Karim 426ad11175 wrap example commands in quotes for non TTY 2026-03-22 20:27:37 -06:00
Sameen Karim 24e18bd088 Handle SIGINT gracefully during interactive prompts
When Ctrl+C is pressed during a prompter interaction, the CLI now prints
a friendly 'Received interrupt, aborting operation' message instead of
ugly wrapped errors like 'failed to read prefix: could not prompt:
interrupt'.

Changes:
- Add isInterruptError(), printInterrupt(), and errInterrupt sentinel
  to cmd/utils.go for centralized interrupt detection
- Update all 8 prompt sites (init, push, checkout, utils) to detect
  survey's terminal.InterruptErr and exit cleanly
- Update callers of resolveStack, pickRemote, and ensureRerere to
  propagate interrupt without double-printing errors
- Change ensureRerere signature to return error so callers can abort
  on interrupt
- Add tests for interrupt detection helpers

Closes td-746bdc

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 20:26:26 -06:00
Sameen Karim 0a55e35b8b block adopting branches with existing PRs 2026-03-22 17:11:48 -06:00
Sameen Karim 5ea2ec8cb3 clean up chained branches display 2026-03-22 16:45:28 -06:00
Sameen Karim 47d1a3faa2 use full commit sha 2026-03-22 14:20:14 -07:00
Sameen Karim 7144d88d70 politely enable rerere and cache decline 2026-03-22 14:01:16 -07:00
Sameen Karim 7bb5ca271c move active branch indices to stack 2026-03-22 09:38:08 -07:00
Sameen Karim d22f0c3377 clearer wording in navigate 2026-03-22 09:18:11 -07:00
Sameen Karim 22fa202522 shared loadStack helper for all cmds 2026-03-22 08:52:03 -07:00
Sameen Karim e874e26374 push all branches atomically and resolve remotes 2026-03-21 23:35:39 -07:00
Sameen Karim 627832dcd0 rm placeholders 2026-03-19 13:22:58 -04:00
Sameen Karim 9d2a7cf8dd use multiline commit msgs for pr body 2026-03-19 12:39:34 -04:00
Sameen Karim a27a4f5ad9 rename flag to --skip-prs 2026-03-18 01:02:59 -04:00
Sameen Karim f66e95cac9 add sticky header to view tui 2026-03-13 04:40:21 -04:00
Sameen Karim 2879cfe9b1 add links to downstack prs in body 2026-03-13 03:34:05 -04:00
Sameen Karim f3a797b250 rebase lowest unmerged branch with tip of trunk 2026-03-13 03:08:50 -04:00
Sameen Karim d5903fe4cd hyperlinked PRs in output 2026-03-13 02:30:52 -04:00
Sameen Karim 49e05a0049 interactive prompt or autogenerate for pr title 2026-03-13 02:22:19 -04:00
Sameen Karim 34eeac434f clean up duplicate msgs 2026-03-13 01:48:53 -04:00
Sameen Karim 1520353f58 skip interactive prompt if prefix and numbering is set 2026-03-13 00:40:55 -04:00
Sameen Karim 3a7700e5cb consistent merged check 2026-03-12 22:51:11 -04:00
Sameen Karim deed1ed3e2 rm old if 2026-03-12 21:05:39 -04:00
Sameen Karim 7d3ceb4975 typo cleanup 2026-03-12 20:26:31 -04:00
Sameen Karim 50c8999f78 add basic tests 2026-03-12 19:13:05 -04:00
Sameen Karim c1aa1f2aad abbreviated workflow to quickly add to stacks 2026-03-12 13:30:06 -04:00
Sameen Karim 07ea259bcb checkout for local stacks 2026-03-12 10:25:42 -04:00
Sameen Karim 9c8d2fb9a3 block add to stack if all branches merged 2026-03-12 09:25:57 -04:00
Sameen Karim d5305eb4ba improved handling of merged branches 2026-03-12 09:24:32 -04:00
Sameen Karim b7c15c1da6 interactive terminal ui for view 2026-03-12 01:26:51 -04:00
Sameen Karim 071748c3f4 handle edges cases from review 2026-03-12 01:21:38 -04:00
Sameen Karim 7767bb499d handle rebase restore failures 2026-03-12 00:37:51 -04:00
Sameen Karim e4b0b6e6e9 use cached pr info 2026-03-11 23:07:58 -04:00
Sameen Karim 423f492ecb check if empty stack 2026-03-11 21:36:12 -04:00
Sameen Karim 9dc7980468 output msgs nits 2026-03-11 21:33:57 -04:00