From b5d2cbe5ce21b124bb1255352d921f6192ad24c9 Mon Sep 17 00:00:00 2001 From: Saivann Date: Wed, 4 Jun 2014 11:52:42 -0400 Subject: [PATCH] Use cross-platform ruby mktmpdir in comparelinks.rb --- _contrib/comparelinks.rb | 79 ++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/_contrib/comparelinks.rb b/_contrib/comparelinks.rb index 8e3b246b..33bbc6a3 100644 --- a/_contrib/comparelinks.rb +++ b/_contrib/comparelinks.rb @@ -3,12 +3,7 @@ ## Example: ruby ./_contrib/comparelinks.rb master newbranch > ../diff -WORKDIR = `mktemp -d` -WORKDIR.gsub!("\n",'') - -at_exit { - `rm -fr "#{WORKDIR}"` -} +require 'tmpdir' def prompt(*args) print(*args) @@ -52,43 +47,49 @@ def fetchlinks() end -# Copy current repository to a temporary directory -`rsync -a ./ "#{WORKDIR}/"` +Dir.mktmpdir{|workdir| -# Build both version of the website and fetch all links -oldlinks = {} -newlinks = {} + WORKDIR=workdir.gsub("\n",'') -Dir.chdir(WORKDIR) do + # Copy current repository to a temporary directory + `rsync -a ./ "#{WORKDIR}/"` - `git checkout #{srcbr}` - `jekyll` - oldlinks = fetchlinks() + # Build both version of the website and fetch all links + oldlinks = {} + newlinks = {} - `git checkout #{dstbr}` - `jekyll` - newlinks = fetchlinks() + Dir.chdir(WORKDIR) do -end + `git checkout #{srcbr}` + `jekyll` + oldlinks = fetchlinks() + + `git checkout #{dstbr}` + `jekyll` + newlinks = fetchlinks() + + end + + # Find added links, removed links + diffaddlinks = [] + diffrmlinks = [] + newlinks.each { |link, etag| + next if oldlinks.has_key?(link) + diffaddlinks.push(link) + } + oldlinks.each { |link, etag| + next if newlinks.has_key?(link) + diffrmlinks.push(link) + } + + # Display resulting diff + diff = '' + if diffaddlinks.length > 0 + diff = diff + "## links added\n\n" + diffaddlinks.join("\n") + "\n\n" + end + if diffrmlinks.length > 0 + diff = diff + "## links removed\n\n" + diffrmlinks.join("\n") + "\n\n" + end + print diff -# Find added links, removed links -diffaddlinks = [] -diffrmlinks = [] -newlinks.each { |link, etag| - next if oldlinks.has_key?(link) - diffaddlinks.push(link) } -oldlinks.each { |link, etag| - next if newlinks.has_key?(link) - diffrmlinks.push(link) -} - -# Display resulting diff -diff = '' -if diffaddlinks.length > 0 - diff = diff + "## links added\n\n" + diffaddlinks.join("\n") + "\n\n" -end -if diffrmlinks.length > 0 - diff = diff + "## links removed\n\n" + diffrmlinks.join("\n") + "\n\n" -end -print diff