|
1 | 1 | require'nanoc3/tasks' |
| 2 | +require'tmpdir' |
2 | 3 |
|
3 | 4 | task:default=>[:test] |
4 | 5 |
|
@@ -39,13 +40,24 @@ task :publish, [:no_commit_msg] => [:clean, :remove_output_dir] do |t, args| |
39 | 40 | mesg=commit_message(args[:no_commit_msg]) |
40 | 41 | sh"nanoc compile" |
41 | 42 |
|
| 43 | +# save precious files |
| 44 | +`git checkout gh-pages` |
| 45 | +tmpdir=Dir.mktmpdir |
| 46 | +FileUtils.cp_r("enterprise",tmpdir) |
| 47 | +FileUtils.cp("robots.txt",tmpdir) |
| 48 | +`git checkout master` |
| 49 | + |
42 | 50 | ENV['GIT_DIR']=File.expand_path(`git rev-parse --git-dir`.chomp) |
43 | 51 | ENV['RUBYOPT']=nil |
44 | 52 | old_sha=`git rev-parse refs/remotes/origin/gh-pages`.chomp |
45 | 53 | Dir.chdir('output')do |
46 | 54 | ENV['GIT_INDEX_FILE']=gif='/tmp/dev.gh.i' |
47 | 55 | ENV['GIT_WORK_TREE']=Dir.pwd |
48 | 56 | File.unlink(gif)ifFile.file?(gif) |
| 57 | +# restore precious files |
| 58 | +FileUtils.cp_r("#{tmpdir}/enterprise",".") |
| 59 | +FileUtils.cp("#{tmpdir}/robots.txt",".") |
| 60 | +FileUtils.rm_rf(tmpdir)ifFile.exists?(tmpdir) |
49 | 61 | `git add -A` |
50 | 62 | tsha=`git write-tree`.strip |
51 | 63 | puts"Created tree#{tsha}" |
|