summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--tool/file2lastrev.rb7
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 447dca20567..0d0a14e0fd3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Jan 1 15:08:46 2009 Yuki Sonoda (Yugui) <yugui@yugui.jp>
+
+ * tool/flie2lastrev.rb: supports git repositories which are cloned
+ from a git-svn gateway.
+ Patch by Hongli Lai. [ruby-core:21020]
+
Thu Jan 1 16:08:11 2009 Tanaka Akira <akr@fsij.org>
* ext/socket/mkconstants.rb: generate init_constants function.
diff --git a/tool/file2lastrev.rb b/tool/file2lastrev.rb
index 37b27b2b885..cacd76eb60c 100644
--- a/tool/file2lastrev.rb
+++ b/tool/file2lastrev.rb
@@ -12,6 +12,7 @@ class VCSNotFoundError < RuntimeError; end
def detect_vcs(path)
path = SRCDIR
return :svn, path.relative_path_from(SRCDIR) if File.directory?("#{path}/.svn")
+ return :git_svn, path.relative_path_from(SRCDIR) if File.directory?("#{path}/.git/svn")
return :git, path.relative_path_from(SRCDIR) if File.directory?("#{path}/.git")
raise VCSNotFoundError, "does not seem to be under a vcs"
end
@@ -22,8 +23,12 @@ def get_revisions(path)
info = case vcs
when :svn
`cd "#{SRCDIR}" && svn info "#{path}"`
- when :git
+ when :git_svn
`cd "#{SRCDIR}" && git svn info "#{path}"`
+ when :git
+ git_log = `cd "#{SRCDIR}" && git log HEAD~1..HEAD "#{path}"`
+ git_log =~ /git-svn-id: .*?@(\d+)/
+ "Revision: #{$1}\nLast Changed Rev: #{$1}\n"
end
if /^Revision: (\d+)/ =~ info