Revision: 771 http://trac.macosforge.org/projects/ruby/changeset/771 Author: eloy.de.enige@gmail.com Date: 2008-12-24 07:21:11 -0800 (Wed, 24 Dec 2008) Log Message: ----------- Properly read the git revision if the head is detached. Patch by Vincent Isambart. Modified Paths: -------------- MacRuby/trunk/Rakefile Modified: MacRuby/trunk/Rakefile =================================================================== --- MacRuby/trunk/Rakefile 2008-12-24 10:41:32 UTC (rev 770) +++ MacRuby/trunk/Rakefile 2008-12-24 15:21:11 UTC (rev 771) @@ -273,11 +273,19 @@ current_revision = "svn revision #{md_revision[1]} from #{md_url[1]}" if md_revision and md_url end if not current_revision and File.exist?('.git/HEAD') - md_ref = /^ref: (.+)$/.match(File.read('.git/HEAD')) + commit_sha1 = nil + head = File.read('.git/HEAD').strip + md_ref = /^ref: (.+)$/.match(head) if md_ref + # if the HEAD file contains "ref: XXXX", it's the reference to a branch + # so we read the file indicating the last commit of the branch head_file = ".git/#{md_ref[1]}" - current_revision = "git commit #{File.read(head_file).strip}" if File.exist?(head_file) + commit_sha1 = File.read(head_file).strip if File.exist?(head_file) + else + # otherwise, it's a detached head so it should be the SHA1 of the last commit + commit_sha1 = head end + current_revision = "git commit #{commit_sha1}" if commit_sha1 and not commit_sha1.empty? end current_revision = 'unknown revision' unless current_revision
participants (1)
-
source_changes@macosforge.org