From: Bernt Hansen <bernt@norang.ca>
To: emacs-orgmode@gnu.org
Cc: Bernt Hansen <bernt@norang.ca>
Subject: [PATCH 1/2] Add git version number to org-version information
Date: Tue, 18 Aug 2009 13:22:42 -0400 [thread overview]
Message-ID: <1250616163-11733-2-git-send-email-bernt@norang.ca> (raw)
In-Reply-To: <1250616163-11733-1-git-send-email-bernt@norang.ca>
Adds the output of 'git describe' to the org-version string if we are running
from a git repository. This identifies exactly what commit is checked out in
the org-mode git repository when reporting the org-mode version number.
org-version returns something like:
Org-mode version 6.29trans (release_6.29c.42.g5996)
which shows 6.29trans (somewhere after the last release tag) which
is 42 commits after release_6.29c at git commit 5996.
The git describe information is not included if org mode is not
running from a git repository.
---
lisp/org.el | 20 ++++++++++++++++----
1 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index b9f4229..3560a50 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -102,10 +102,22 @@
"Show the org-mode version in the echo area.
With prefix arg HERE, insert it at point."
(interactive "P")
- (let ((version (format "Org-mode version %s" org-version)))
- (message version)
- (if here
- (insert version))))
+ (let* ((org-version org-version)
+ (dir (concat (file-name-directory (locate-library "org")) "../" )))
+ (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 org-version (concat org-version " (" (match-string 0) ")")))))
+ (let ((version (format "Org-mode version %s" org-version)))
+ (message version)
+ (if here
+ (insert version)))))
;;; Compatibility constants
--
1.6.4
next prev parent reply other threads:[~2009-08-18 17:23 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-18 17:22 [PATCH 0/2] Teach org-version to include git version information Bernt Hansen
2009-08-18 17:22 ` Bernt Hansen [this message]
2009-08-18 17:22 ` [PATCH 2/2] Add .dirty to git org-version info if files are modified Bernt Hansen
2009-08-18 19:08 ` [PATCH 0/2] Teach org-version to include git version information Carsten Dominik
2009-08-18 19:10 ` Bernt Hansen
2009-08-18 19:15 ` Carsten Dominik
2009-08-18 19:30 ` Stefan Vollmar
2009-08-18 19:44 ` Bernt Hansen
2009-08-18 19:48 ` Stefan Vollmar
2009-08-19 10:10 ` Manish
2009-08-19 11:24 ` Bernt Hansen
2009-08-19 12:01 ` Manish
2009-08-19 12:08 ` Bernt Hansen
2009-08-19 12:19 ` Manish
2009-08-19 12:30 ` Bernt Hansen
2009-08-19 13:20 ` Manish
2009-08-19 13:32 ` Bernt Hansen
2009-08-19 13:34 ` Bernt Hansen
2009-08-19 13:58 ` Manish
2009-08-19 14:02 ` Nick Dokos
2009-08-19 14:16 ` Manish
2009-08-19 14:29 ` Nick Dokos
2009-08-19 14:42 ` Bernt Hansen
2009-08-19 14:51 ` Manish
2009-08-19 15:04 ` Nick Dokos
2009-08-19 15:10 ` Manish
2009-08-19 15:16 ` Bernt Hansen
2009-08-19 15:23 ` Manish
2009-08-19 15:27 ` Bernt Hansen
2009-08-19 20:06 ` [PATCH 0/2] org-version fix for windows Bernt Hansen
2009-08-20 3:54 ` Bernt Hansen
2009-08-20 19:06 ` Bernt Hansen
2009-08-20 19:53 ` Carsten Dominik
2009-08-19 20:06 ` [PATCH 1/2] Use lisp cd function to change directories to avoid shell dependencies Bernt Hansen
2009-08-19 20:06 ` [PATCH 2/2] Skip git-version determination if git command fails Bernt Hansen
2009-08-19 14:17 ` [PATCH 0/2] Teach org-version to include git version information Bernt Hansen
2009-08-19 14:41 ` Manish
2009-08-19 14:44 ` Bernt Hansen
2009-08-19 13:22 ` Manish
2009-08-19 13:40 ` Bernt Hansen
2009-08-19 13:57 ` Nick Dokos
2009-08-19 12:21 ` Nick Dokos
2009-08-19 12:30 ` Manish
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1250616163-11733-2-git-send-email-bernt@norang.ca \
--to=bernt@norang.ca \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).