ソースを参照

Let the user override the version strings produced in org-fixup.

* UTILITIES/org-fixup.el (org-fixup): Let the user override the
  version strings produced in org-fixup whith strings stored in
  org-fake-release and org-fake-git-version.  Skip loading them from a
  pre-existing org-version.el or trying to determine them from git in
  this case.  This is predominantly useful if Git is not available,
  but the user wants to install from a Git tarball which is missing a
  pre-configured org-version.el file.
Achim Gratz 12 年 前
コミット
b050afa06f
1 ファイル変更21 行追加16 行削除
  1. 21 16
      UTILITIES/org-fixup.el

+ 21 - 16
UTILITIES/org-fixup.el

@@ -140,22 +140,27 @@ oldorg:	# do what the old Makfile did by default
 	 (dirgit (concat dirorg ".git/" ))
 	 (org-version "N/A-fixup")
 	 (org-git-version "N/A-fixup !!check installation!!"))
-    (if (load (concat dirlisp "org-version.el") 'noerror 'nomessage 'nosuffix)
-	(setq org-version     (org-release)
-	      org-git-version (org-git-version))
-      (when (and (file-exists-p dirgit)
-		 (executable-find "git"))
-	(unwind-protect
-	    (progn
-	      (cd dirorg)
-	      (let ((git6 (substring (shell-command-to-string "git describe --abbrev=6 HEAD") 0 -1))
-		    (git0 (substring (shell-command-to-string "git describe --abbrev=0 HEAD") 0 -1))
-		    (gitd (string-match "\\S-" (shell-command-to-string "git status -uno --porcelain"))))
-		(setq org-git-version (concat git6 (when gitd ".dirty")))
-		(if (string-match "^release_" git0)
-		    (setq org-version (substring git0 8))
-		  (setq org-version git0))))
-	  (cd origin))))
+    (if (and (boundp 'org-fake-release)     (stringp org-fake-release)
+	     (boundp 'org-fake-git-version) (stringp org-fake-git-version))
+	(setq org-version     org-fake-release
+	      org-git-version org-fake-git-version)
+      (if (load (concat dirlisp "org-version.el") 'noerror 'nomessage 'nosuffix)
+	  (setq org-version     (org-release)
+		org-git-version (org-git-version))
+	(when (and (file-exists-p dirgit)
+		   (executable-find "git"))
+	  (unwind-protect
+	      (progn
+		(cd dirorg)
+		(let ((git6 (substring (shell-command-to-string "git describe --abbrev=6 HEAD") 0 -1))
+		      (git0 (substring (shell-command-to-string "git describe --abbrev=0 HEAD") 0 -1))
+		      (gitd (string-match "\\S-"
+					  (shell-command-to-string "git status -uno --porcelain"))))
+		  (setq org-git-version (concat git6 (when gitd ".dirty")))
+		  (if (string-match "^release_" git0)
+		      (setq org-version (substring git0 8))
+		    (setq org-version git0))))
+	  (cd origin)))))
     `(progn
        (defun org-release () ,org-version)
        (defun org-git-version () ,org-git-version)