commit - 35b3a91ed720ad89b888fd5f7a717a69beaaaa58
commit + 694534b48d699ecab2e671833fdaf60e752bd29b
blob - 860a9a2ecc7d80fa2dde67cf54cf85d5b9de69e1
blob + ced238f1aca8515ad534da51dbf3841d7f55ffc0
--- vc-got.el
+++ vc-got.el
;; - status-fileinfo-extra NOT IMPLEMENTED
;; * working-revision DONE
;; * checkout-model DONE
-;; - mode-line-string NOT IMPLEMENTED
+;; - mode-line-string DONE
;;
;; STATE-CHANGING FUNCTIONS:
;; * create-repo NOT IMPLEMENTED
(move-beginning-of-line nil)
`(,branchname . ,commit))))))
-;; (vc-got-with-worktree "/usr/ports/mystuff/"
-;; (vc-got--list-branches))
+(defun vc-got--current-branch ()
+ "Return the current branch."
+ (with-temp-buffer
+ (when (zerop (vc-got--call "branch"))
+ (string-trim (buffer-string) "" "\n"))))
(defun vc-got--integrate (branch)
"Integrate BRANCH into the current one."
(defun vc-got-checkout-model (_files)
'implicit)
+(defun vc-got-mode-line-string (file)
+ "Return the VC mode line string for FILE."
+ (vc-got-with-worktree file
+ (let ((def (vc-default-mode-line-string 'Got file)))
+ (concat (substring def 0 4) (vc-got--current-branch)))))
+
;; state-changing functions