ruby-changes:55690
From: Nobuyoshi <ko1@a...>
Date: Thu, 9 May 2019 14:02:59 +0900 (JST)
Subject: [ruby-changes:55690] Nobuyoshi Nakada: eb84b33c86 (trunk): Search a branch name at a detached head
https://git.ruby-lang.org/ruby.git/commit/?id=eb84b33c86 From eb84b33c86280a72aaeedae1e582045528c534b2 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada <nobu@r...> Date: Thu, 9 May 2019 14:02:01 +0900 Subject: Search a branch name at a detached head diff --git a/tool/vcs.rb b/tool/vcs.rb index 9310629..1d8fe90 100644 --- a/tool/vcs.rb +++ b/tool/vcs.rb @@ -392,15 +392,16 @@ class VCS https://github.com/ruby/ruby/blob/trunk/tool/vcs.rb#L392 def self.get_revisions(path, srcdir = nil) gitcmd = [COMMAND] last = cmd_read_at(srcdir, [[*gitcmd, 'rev-parse', '--short=10', 'HEAD']]).rstrip - if path - log = cmd_read_at(srcdir, [[*gitcmd, 'log', '-n1', '--date=iso', path]]) - else - log = cmd_read_at(srcdir, [[*gitcmd, 'log', '-n1', '--date=iso']]) - end + log = cmd_read_at(srcdir, [[*gitcmd, 'log', '-n1', '--date=iso', *path]]) changed = log[/\Acommit (\h+)/, 1] changed = changed[0, last.size] modified = log[/^Date:\s+(.*)/, 1] branch = cmd_read_at(srcdir, [gitcmd + %W[symbolic-ref --short HEAD]]) + if branch.empty? + branch_list = cmd_read_at(srcdir, [gitcmd + %W[branch --list --contains HEAD]]).lines + branch_list.delete_if {|b| /detached at/ =~ b} + (branch = branch_list[0]).strip! unless branch_list.empty? + end branch.chomp! upstream = cmd_read_at(srcdir, [gitcmd + %W[branch --list --format=%(upstream:short) #{branch}]]) upstream.chomp! -- cgit v0.10.2 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/