From 59641944e9902912fbbe81c57504f35d652b9ad6 Mon Sep 17 00:00:00 2001 From: yugui Date: Tue, 23 Dec 2008 06:39:48 +0000 Subject: * tool/file2lastrev.rb: detects vcs directory properly on building outside of srcdir. [ruby-dev:37555] [ruby-dev:37561] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- tool/file2lastrev.rb | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'tool/file2lastrev.rb') diff --git a/tool/file2lastrev.rb b/tool/file2lastrev.rb index f8f1470574..430aca6730 100644 --- a/tool/file2lastrev.rb +++ b/tool/file2lastrev.rb @@ -3,17 +3,13 @@ require 'optparse' require 'pathname' +SRCDIR = Pathname(File.dirname($0)).parent.freeze class VCSNotFoundError < RuntimeError; end def detect_vcs(path) - target_path = Pathname(File.expand_path(path)) - - path = target_path.directory? ? target_path : target_path.parent - begin - return :svn, target_path.relative_path_from(path) if File.directory?("#{path}/.svn") - return :git, target_path.relative_path_from(path) if File.directory?("#{path}/.git") - path, orig = path.parent, path - end until path == orig + path = SRCDIR + return :svn, path.relative_path_from(SRCDIR) if File.directory?("#{path}/.svn") + return :git, path.relative_path_from(SRCDIR) if File.directory?("#{path}/.git") raise VCSNotFoundError, "does not seem to be under a vcs" end @@ -23,9 +19,9 @@ def get_revisions(path) info = case vcs when :svn - `svn info #{path}` + `cd '#{SRCDIR}' && svn info '#{path}'` when :git - `git svn info #{path}` + `cd '#{SRCDIR}' && git svn info '#{path}'` end if info =~ /^Revision: (\d+)$/ -- cgit v1.2.3