branch: master
commit 7518cb46211692ecd14e774c7c3a8b5dee0c633c
Author: Noam Postavsky <[email protected]>
Commit: Noam Postavsky <[email protected]>
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 c433a57..3ce1c40 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 278120d..7300d6b 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 d504f67..495bf9e 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