aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rwxr-xr-xtool/file2lastrev.rb9
2 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ba27b9dd74..06cf19059c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Apr 15 20:41:10 2010 Tanaka Akira <akr@fsij.org>
+
+ * tool/file2lastrev.rb: make -q effective for files not version
+ controlled.
+
Thu Apr 15 14:50:19 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (vm_backtrace_each): get rid of use of malloc from signal
diff --git a/tool/file2lastrev.rb b/tool/file2lastrev.rb
index cf15389112..45b2f037ca 100755
--- a/tool/file2lastrev.rb
+++ b/tool/file2lastrev.rb
@@ -60,7 +60,7 @@ class VCS
register(".svn")
def self.get_revisions(path)
- info_xml = `svn info --xml "#{path}"`
+ info_xml = IO.popen(["svn", "info", "--xml", path.to_s, :err=>[:child, :out]]) {|f| f.read }
_, last, _, changed, _ = info_xml.split(/revision="(\d+)"/)
[last, changed]
end
@@ -114,7 +114,12 @@ begin
rescue VCS::NotFoundError => e
abort "#{Program.basename}: #{e.message}" unless @suppress_not_found
else
- last, changed = vcs.get_revisions(ARGV.shift)
+ begin
+ last, changed = vcs.get_revisions(ARGV.shift)
+ rescue => e
+ abort "#{Program.basename}: #{e.message}" unless @suppress_not_found
+ exit false
+ end
end
case @output