From 60308853c3ff3563d9e5855b37824b0aa3555eed Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Tue, 15 Sep 2009 00:11:51 +0000 Subject: [PATCH] (vc-git-dir-extra-headers): Show the remote location. --- lisp/ChangeLog | 4 ++++ lisp/vc-git.el | 34 ++++++++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 685c0cde955..5884e69dd69 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2009-09-15 Dan Nicolaescu + + * vc-git.el (vc-git-dir-extra-headers): Show the remote location. + 2009-09-14 Dan Nicolaescu * bindings.el (mode-line-mode-menu): Add purecopy calls for :help. diff --git a/lisp/vc-git.el b/lisp/vc-git.el index 5230d54216e..63cefb572c9 100644 --- a/lisp/vc-git.el +++ b/lisp/vc-git.el @@ -403,16 +403,38 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." (let ((str (with-output-to-string (with-current-buffer standard-output (vc-git--out-ok "symbolic-ref" "HEAD")))) - (stash (vc-git-stash-list))) + (stash (vc-git-stash-list)) + branch remote remote-url) + (if (string-match "^\\(refs/heads/\\)?\\(.+\\)$" str) + (progn + (setq branch (match-string 2 str)) + (message "branch (%s)" branch) + (setq remote + (with-output-to-string + (with-current-buffer standard-output + (vc-git--out-ok "config" (concat "branch." branch ".remote"))))) + (when (string-match "\\([^\n]+\\)" remote) + (setq remote (match-string 1 remote))) + (when remote + (setq remote-url + (with-output-to-string + (with-current-buffer standard-output + (vc-git--out-ok "config" (concat "remote." remote ".url")))))) + (when (string-match "\\([^\n]+\\)" remote-url) + (setq remote-url (match-string 1 remote-url)))) + "not (detached HEAD)") ;; FIXME: maybe use a different face when nothing is stashed. (when (string= stash "") (setq stash "Nothing stashed")) (concat (propertize "Branch : " 'face 'font-lock-type-face) - (propertize - (if (string-match "^\\(refs/heads/\\)?\\(.+\\)$" str) - (match-string 2 str) - "not (detached HEAD)") - 'face 'font-lock-variable-name-face) + (propertize branch + 'face 'font-lock-variable-name-face) + (when remote + (concat + "\n" + (propertize "Remote : " 'face 'font-lock-type-face) + (propertize remote-url + 'face 'font-lock-variable-name-face))) "\n" (propertize "Stash : " 'face 'font-lock-type-face) (propertize -- 2.39.5