]> code.delx.au - gnu-emacs-elpa/commitdiff
rake doc:upload: check for wrong/incomplete rev
authorNoam Postavsky <npostavs@users.sourceforge.net>
Fri, 6 Dec 2013 17:56:02 +0000 (12:56 -0500)
committerNoam Postavsky <npostavs@users.sourceforge.net>
Fri, 6 Dec 2013 18:00:40 +0000 (13:00 -0500)
.gitignore
Rakefile
doc/yas-doc-helper.el

index c433a5795f3be14415dd058638895c0c211c32db..3ce1c40517383cf765df1b0fc36f3abca64f99b1 100644 (file)
@@ -1,6 +1,7 @@
 authors.txt\r
 doc/gh-pages\r
 doc/*.html\r
+doc/html-revision\r
 pkg/\r
 extras/imported/**\r
 !extras/imported/*/.yas-setup.el\r
index 278120dc89230cef09219490220fc56dfd5706ec..7300d6be6919d020bb3299afb1e0bc39dc9bd2b7 100644 (file)
--- a/Rakefile
+++ b/Rakefile
@@ -67,7 +67,16 @@ namespace :doc do
       Dir.glob("doc/images/*").each do |file|
         FileUtils.cp file, 'doc/gh-pages/images'
       end
-      rev = `git rev-parse --verify HEAD`
+      curRev = `git rev-parse --verify HEAD`.chomp()
+      expRev = IO.read('doc/html-revision').chomp()
+      if curRev != expRev
+        raise ("The HTML rev: #{expRev},\n" +
+               "current  rev: #{curRev}!\n")
+      end
+      if !system "git diff-index --quiet HEAD"
+        system "git status --untracked-files=no"
+        raise "You have uncommitted changes!"
+      end
       Dir.chdir 'doc/gh-pages' do
         sh "git commit -a -m 'Automatic documentation update.\n\n" +
           "From #{rev.chomp()}'"
index d504f67cbe03c555f15211195dd621d2e86b974c..495bf9e65e3d6afb6bc0d2fc1876802de39f2403 100755 (executable)
 ;; This lets all the org files be exported to HTML with
 ;; `org-publish-current-project' (C-c C-e P).
 
-(let* ((rev (or (with-temp-buffer
-                  (when (eq (call-process "git" nil t nil
-                                          "rev-parse" "--verify" "HEAD") 0)
-                    (buffer-string)))
-                yas--version))
-       (dir (if load-file-name (file-name-directory load-file-name)
+(let* ((dir (if load-file-name (file-name-directory load-file-name)
               default-directory))
+       (rev (with-temp-file (expand-file-name "html-revision" dir)
+              (or (when (eq (call-process "git" nil t nil
+                                          "rev-parse" "--verify" "HEAD") 0)
+                    (buffer-string))
+                  (princ yas--version (current-buffer)))))
        (proj-plist
         (list
          :base-directory dir :publishing-directory dir