expr: 26.15%

#lang racket/gui
(provide make-pusher)

(require sauron/cmd/execute)

(define (make-pusher command)
  (run "git fetch")
  (run "git log fetch_head..head --oneline"
        (out in err)
         (define logs
           (string-join (sequence->list (in-lines out))
                        "\n"))
         (define result
           (message-box/custom "Push Commits"
                               logs
                               command
                               "cancel"
                               #f))
         (match result
           [1 (run (format "git ~a" command))]
           [2 (void)]))))

(module+ main
  (require framework/preferences)

  (preferences:set-default 'current-project (current-directory) path-string?)
  (make-pusher "git push"))