This fixes git version determination on windows for cygwin and for msysGit
where git is installed in the user's PATH for the windows command shell.
---
lisp/org.el | 38 ++++++++++++++++++++------------------
1 files changed, 20 insertions(+), 18 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index e2cdce8..63ce2de 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -104,25 +104,27 @@ With prefix arg HERE, insert it at point."
(interactive "P")
(let* ((org-version org-version)
(git-version)
- (dir (concat (file-name-directory (locate-library "org")) "../" )))
+ (dir (concat (file-name-directory (locate-library "org")) "../" ))
+ (version))
(if (file-exists-p (expand-file-name ".git" dir))
- (progn
- (shell-command (concat "cd " dir " && git describe --abbrev=4 HEAD"))
- (save-excursion
- (set-buffer "*Shell Command Output*")
- (goto-char (point-min))
- (replace-regexp "-" ".")
- (goto-char (point-min))
- (re-search-forward "[^\n]+")
- (setq git-version (match-string 0))
- (shell-command (concat "cd " dir " && git diff-index --name-only
HEAD --"))
- (unless (eql 1 (point-max))
- (setq git-version (concat git-version ".dirty")))
- (setq org-version (concat org-version " (" git-version ")")))))
- (let ((version (format "Org-mode version %s" org-version)))
- (if here (insert version))
- (message version)
- version)))
+ (let ((pwd (substring (pwd) 10)))
+ (cd dir)
+ (shell-command "git describe --abbrev=4 HEAD")
+ (save-excursion
+ (set-buffer "*Shell Command Output*")
+ (goto-char (point-min))
+ (re-search-forward "[^\n]+")
+ (setq git-version (match-string 0))
+ (subst-char-in-string ?- ?. git-version t)
+ (shell-command "git diff-index --name-only HEAD --")
+ (unless (eql 1 (point-max))
+ (setq git-version (concat git-version ".dirty")))
+ (setq org-version (concat org-version " (" git-version ")")))
+ (cd pwd)))
+ (setq version (format "Org-mode version %s" org-version))
+ (if here (insert version))
+ (message version)
+ version))
;;; Compatibility constants
--
1.6.4
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-orgmode