Push the current (topic) branch to the remote upstream

This commit is contained in:
Nobuyoshi Nakada 2019-05-09 10:01:31 +09:00
Родитель 4fabb74471
Коммит d802698d3e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4BC7D6DF58D8DF60
1 изменённых файлов: 9 добавлений и 0 удалений

Просмотреть файл

@ -510,6 +510,15 @@ class VCS
dryrun = opts.fetch(:dryrun) {$DEBUG} if opts dryrun = opts.fetch(:dryrun) {$DEBUG} if opts
args = [COMMAND, "push"] args = [COMMAND, "push"]
args << "-n" if dryrun args << "-n" if dryrun
(branch = cmd_read(%W"#{COMMAND} symbolic-ref --short HEAD")).chomp!
(upstream = cmd_read(%W"#{COMMAND} branch --list --format=%(upstream) #{branch}")).chomp!
while ref = upstream[%r"\Arefs/heads/(.*)", 1]
upstream = cmd_read(%W"#{COMMAND} branch --list --format=%(upstream) #{ref}")
end
unless %r"\Arefs/remotes/([^/]+)/(.*)" =~ upstream
raise "Upstream not found"
end
args << $1 << "HEAD:#$2"
STDERR.puts(args.inspect) if dryrun STDERR.puts(args.inspect) if dryrun
system(*args) or return false system(*args) or return false
true true