зеркало из https://github.com/github/ruby.git
* tool/file2lastrev.rb (VCS::detect): Add support for Subversion
1.7 which adopted a whole new working directory structure. * tool/file2lastrev.rb (VCS::detect): Simply use .each instead of .sort.reverse_each which looks too arbitrary. If you want SVN to be tried first, then you just have to register it first as it is right now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
432a992aaf
Коммит
c093401b0e
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
Mon Jan 2 22:08:00 2012 Akinori MUSHA <knu@iDaemons.org>
|
||||||
|
|
||||||
|
* tool/file2lastrev.rb (VCS::detect): Add support for Subversion
|
||||||
|
1.7 which adopted a whole new working directory structure.
|
||||||
|
|
||||||
|
* tool/file2lastrev.rb (VCS::detect): Simply use .each instead of
|
||||||
|
.sort.reverse_each which looks too arbitrary. If you want SVN
|
||||||
|
to be tried first, then you just have to register it first as it
|
||||||
|
is right now.
|
||||||
|
|
||||||
Mon Jan 2 20:53:36 2012 Tanaka Akira <akr@fsij.org>
|
Mon Jan 2 20:53:36 2012 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
* lib/securerandom.rb (random_bytes): use IO#read instead of
|
* lib/securerandom.rb (random_bytes): use IO#read instead of
|
||||||
|
|
|
@ -22,8 +22,15 @@ class VCS
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.detect(path)
|
def self.detect(path)
|
||||||
@@dirs.sort.reverse_each do |dir, klass|
|
@@dirs.each do |dir, klass|
|
||||||
return klass.new(path) if File.directory?("#{path}/#{dir}")
|
return klass.new(path) if File.directory?(File.join(path, dir))
|
||||||
|
prev = path
|
||||||
|
loop {
|
||||||
|
curr = File.realpath(File.join(prev, '..'))
|
||||||
|
break if curr == prev # stop at the root directory
|
||||||
|
return klass.new(path) if File.directory?(File.join(curr, dir))
|
||||||
|
prev = curr
|
||||||
|
}
|
||||||
end
|
end
|
||||||
raise VCS::NotFoundError, "does not seem to be under a vcs: #{path}"
|
raise VCS::NotFoundError, "does not seem to be under a vcs: #{path}"
|
||||||
end
|
end
|
||||||
|
@ -127,7 +134,7 @@ parser = OptionParser.new {|opts|
|
||||||
}
|
}
|
||||||
parser.parse! rescue abort "#{File.basename(Program)}: #{$!}\n#{parser}"
|
parser.parse! rescue abort "#{File.basename(Program)}: #{$!}\n#{parser}"
|
||||||
|
|
||||||
srcdir = srcdir ? srcdir : File.dirname(File.dirname(Program))
|
srcdir ||= File.dirname(File.dirname(Program))
|
||||||
begin
|
begin
|
||||||
vcs = VCS.detect(srcdir)
|
vcs = VCS.detect(srcdir)
|
||||||
rescue VCS::NotFoundError => e
|
rescue VCS::NotFoundError => e
|
||||||
|
|
Загрузка…
Ссылка в новой задаче