From 7518cb46211692ecd14e774c7c3a8b5dee0c633c Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Fri, 6 Dec 2013 12:56:02 -0500 Subject: [PATCH] rake doc:upload: check for wrong/incomplete rev --- .gitignore | 1 + Rakefile | 11 ++++++++++- doc/yas-doc-helper.el | 12 ++++++------ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index c433a5795..3ce1c4051 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ authors.txt doc/gh-pages doc/*.html +doc/html-revision pkg/ extras/imported/** !extras/imported/*/.yas-setup.el diff --git a/Rakefile b/Rakefile index 278120dc8..7300d6be6 100644 --- 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()}'" diff --git a/doc/yas-doc-helper.el b/doc/yas-doc-helper.el index d504f67cb..495bf9e65 100755 --- a/doc/yas-doc-helper.el +++ b/doc/yas-doc-helper.el @@ -114,13 +114,13 @@ ;; 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 -- 2.39.2