emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r116110: Fixes for emacs-repository-get-version


From: Glenn Morris
Subject: [Emacs-diffs] trunk r116110: Fixes for emacs-repository-get-version
Date: Wed, 22 Jan 2014 17:26:24 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 116110
revision-id: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Wed 2014-01-22 09:26:14 -0800
message:
  Fixes for emacs-repository-get-version
  
  * lisp/version.el (emacs-repository-get-version):
  Check either .bzr or .git, but not both.
  Make the git case actually use the DIR argument, and return nil
  rather than the empty string.
  
  * etc/NEWS: Don't mention that emacs-repository-version works for git,
  because it only returns nil (since it uses %N and there seem to be no
  notes in the git version of the Emacs repo.)
  No idea why this change is in trunk during a feature freeze anyway.
modified:
  etc/NEWS                       news-20100311060928-aoit31wvzf25yr1z-1
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/version.el                version.el-20091113204419-o5vbwnq5f7feedwu-1613
=== modified file 'etc/NEWS'
--- a/etc/NEWS  2014-01-22 08:30:00 +0000
+++ b/etc/NEWS  2014-01-22 17:26:14 +0000
@@ -236,8 +236,7 @@
 and this variable has been marked obsolete.
 
 ---
-** `emacs-bzr-version' has been renamed to `emacs-repository-version',
-and works for git too.
+** `emacs-bzr-version' has been renamed to `emacs-repository-version'.
 
 ** New user options:
 

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-01-22 10:29:23 +0000
+++ b/lisp/ChangeLog    2014-01-22 17:26:14 +0000
@@ -1,3 +1,10 @@
+2014-01-22  Glenn Morris  <address@hidden>
+
+       * version.el (emacs-repository-get-version):
+       Check either .bzr or .git, but not both.
+       Make the git case actually use the DIR argument, and return nil
+       rather than the empty string.
+
 2014-01-22  Martin Rudalics  <address@hidden>
 
        Fixes in window size functions around Bug#16430 and Bug#16470.

=== modified file 'lisp/version.el'
--- a/lisp/version.el   2014-01-11 23:59:49 +0000
+++ b/lisp/version.el   2014-01-22 17:26:14 +0000
@@ -145,52 +145,50 @@
 version control.  If `force', always ask.  the VCS. Otherwise
 only ask the VCS if we cannot find any information ourselves."
   (or dir (setq dir source-directory))
-  (or 
-   ;; Bazaar case -- to be removed after transition
-   (when (file-directory-p (expand-file-name ".bzr/branch" dir))
-     (if (eq external 'force)
-        (emacs-bzr-version-bzr dir)
-       (let (file loc rev)
-        (cond ((file-readable-p
-                (setq file (expand-file-name ".bzr/branch/last-revision" dir)))
-               (with-temp-buffer
-                 (insert-file-contents file)
-                 (goto-char (point-max))
-                 (if (looking-back "\n")
-                     (delete-char -1))
-                 (buffer-string)))
-              ;; OK, no last-revision.  Is it a lightweight checkout?
-              ((file-readable-p
-                (setq file (expand-file-name ".bzr/branch/location" dir)))
-               (setq rev (emacs-bzr-version-dirstate dir))
-               ;; If the parent branch is local, try looking there for the rev.
-               ;; Note: there is no guarantee that the parent branch's rev
-               ;; corresponds to this branch.  This branch could have
-               ;; been made with a specific -r revno argument, or the
-               ;; parent could have been updated since this branch was created.
-               ;; To try and detect this, we check the dirstate revids
-               ;; to see if they match.
-               (if (and (setq loc (with-temp-buffer
-                                    (insert-file-contents file)
-                                    (if (looking-at "file://\\(.*\\)")
-                                        (match-string 1))))
-                        (equal rev (emacs-bzr-version-dirstate loc)))
-                   (emacs-bzr-get-version loc)
-                 ;; If parent does not match, the best we can do without
-                 ;; calling external commands is to use the dirstate rev.
-                 rev))
-              (external
-               (emacs-bzr-version-bzr dir))))))
-   ;; Git case
-  (when (file-directory-p (expand-file-name ".git" dir))
-    (message "Waiting for git...")
-    (with-temp-buffer
-      (if (zerop
-          (call-process "git" nil '(t nil) nil "log"
-                        "-1"
-                        "--pretty=format:%N"))
-         (replace-regexp-in-string "\n" "" (buffer-string)))))
-   ))
+  (cond ((file-directory-p (expand-file-name ".bzr/branch" dir))
+        (if (eq external 'force)
+            (emacs-bzr-version-bzr dir)
+          (let (file loc rev)
+            (cond ((file-readable-p
+                    (setq file (expand-file-name
+                                ".bzr/branch/last-revision" dir)))
+                   (with-temp-buffer
+                     (insert-file-contents file)
+                     (goto-char (point-max))
+                     (if (looking-back "\n")
+                         (delete-char -1))
+                     (buffer-string)))
+                  ;; OK, no last-revision.  Is it a lightweight checkout?
+                  ((file-readable-p
+                    (setq file (expand-file-name ".bzr/branch/location" dir)))
+                   (setq rev (emacs-bzr-version-dirstate dir))
+                   ;; If parent branch is local, try looking there for the rev.
+                   ;; Note: there is no guarantee that the parent branch's rev
+                   ;; corresponds to this branch.  This branch could have
+                   ;; been made with a specific -r revno argument, or the
+                   ;; parent could have been updated since this branch was
+                   ;; created.
+                   ;; To try and detect this, we check the dirstate revids
+                   ;; to see if they match.
+                   (if (and (setq loc (with-temp-buffer
+                                        (insert-file-contents file)
+                                        (if (looking-at "file://\\(.*\\)")
+                                            (match-string 1))))
+                            (equal rev (emacs-bzr-version-dirstate loc)))
+                       (emacs-repository-get-version loc)
+                     ;; If parent does not match, the best we can do without
+                     ;; calling external commands is to use the dirstate rev.
+                     rev))
+                  (external
+                   (emacs-bzr-version-bzr dir))))))
+       ((file-directory-p (expand-file-name ".git" dir))
+        (message "Waiting for git...")
+        (with-temp-buffer
+          (let ((default-directory (file-name-as-directory dir)))
+            (and (zerop (call-process "git" nil '(t nil) nil "log"
+                                      "-1" "--pretty=format:%N"))
+                 (not (zerop (buffer-size)))
+                 (replace-regexp-in-string "\n" "" (buffer-string))))))))
 
 ;; We put version info into the executable in the form that `ident' uses.
 (purecopy (concat "\n$Id: " (subst-char-in-string ?\n ?\s (emacs-version))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]