mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Search a branch name at a detached head
This commit is contained in:
parent
c06ddfee87
commit
eb84b33c86
1 changed files with 6 additions and 5 deletions
11
tool/vcs.rb
11
tool/vcs.rb
|
@ -392,15 +392,16 @@ class VCS
|
||||||
def self.get_revisions(path, srcdir = nil)
|
def self.get_revisions(path, srcdir = nil)
|
||||||
gitcmd = [COMMAND]
|
gitcmd = [COMMAND]
|
||||||
last = cmd_read_at(srcdir, [[*gitcmd, 'rev-parse', '--short=10', 'HEAD']]).rstrip
|
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]])
|
||||||
log = cmd_read_at(srcdir, [[*gitcmd, 'log', '-n1', '--date=iso', path]])
|
|
||||||
else
|
|
||||||
log = cmd_read_at(srcdir, [[*gitcmd, 'log', '-n1', '--date=iso']])
|
|
||||||
end
|
|
||||||
changed = log[/\Acommit (\h+)/, 1]
|
changed = log[/\Acommit (\h+)/, 1]
|
||||||
changed = changed[0, last.size]
|
changed = changed[0, last.size]
|
||||||
modified = log[/^Date:\s+(.*)/, 1]
|
modified = log[/^Date:\s+(.*)/, 1]
|
||||||
branch = cmd_read_at(srcdir, [gitcmd + %W[symbolic-ref --short HEAD]])
|
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!
|
branch.chomp!
|
||||||
upstream = cmd_read_at(srcdir, [gitcmd + %W[branch --list --format=%(upstream:short) #{branch}]])
|
upstream = cmd_read_at(srcdir, [gitcmd + %W[branch --list --format=%(upstream:short) #{branch}]])
|
||||||
upstream.chomp!
|
upstream.chomp!
|
||||||
|
|
Loading…
Reference in a new issue