Commit Diff


commit - 12ca62f2d57553ed120e902a25bd3231825de240
commit + 6eda2f1f013325ef2ba8a49de9b6ed701c166fe9
blob - 71823918621def2c08dc0a67db3f2ac9c3c53cea
blob + 2eb93c59724ee07dd9d7c05f3e85b2a6fc91e147
--- vc-got.el
+++ vc-got.el
@@ -78,9 +78,12 @@
 ;; HISTORY FUNCTIONS
 ;; * print-log                          DONE
 ;; * log-outgoing                       DONE
-;; * log-incoming                       NOT IMPLEMENTED
+;; * log-incoming                       DONE
 ;; - log-search                         DONE
 ;; - log-view-mode                      NOT IMPLEMENTED
+;; - show-log-entry                     NOT IMPLEMENTED
+;; - comment-history                    NOT IMPLEMENTED
+;; - update-changelog                   NOT IMPLEMENTED
 
 ;; TODO: use the idiom
 ;;      (let (process-file-side-effects) ...)
@@ -488,6 +491,15 @@ LIMIT limits the number of commits, optionally startin
         (inhibit-read-only t))
     (with-current-buffer buffer
       (vc-got--log nil nil nil rl))))
+
+(defun vc-got-incoming (buffer remote-location)
+  "Fill BUFFER with the diff between the REMOTE-LOCATION and the local worktree branch."
+  (let ((rl (if (or (not remote-location) (string-empty-p remote-location))
+                (concat "origin/" (vc-got--current-branch))
+              remote-location))
+        (inhibit-read-only t))
+    (with-current-buffer buffer
+      (vc-got--log nil nil (vc-got--current-branch) rl))))
 
 ;; XXX: vc.el specify only pattern, but in reality this takes a buffer
 ;; and a pattern.