On Tue, Jan 12, 2021 at 03:21:48PM +0800, Liu Shaofei wrote:
[why] As some repositories have many branches, the git-mirror will submit jobs for each branch. So the large number of jobs are submitted for the same repository. To avoid this problem, just master branch is submitted. If repository does not have master branch, the last branch is selected to submit job.
please ignore the email Thanks, Liushaofei
Signed-off-by: Liu Shaofei 370072077@qq.com
sbin/auto_submit | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-)
diff --git a/sbin/auto_submit b/sbin/auto_submit index 51ecc6a..950d1f0 100755 --- a/sbin/auto_submit +++ b/sbin/auto_submit @@ -28,16 +28,29 @@ class AutoSubmit return pkgbuild_repo end
- def submit(newrefs_info, submit_argv)
- # just submit master branch, if not master branch, submit last one branch.
- def get_branch_argvs(newrefs_info)
- repo = { 'branch' => '', 'commit' => '' }
- newrefs_info['new_refs']['heads'].each do |branch, commit_id|
real_argvs = Array.new(submit_argv)
real_argvs.push("upstream_branch=#{branch.delete_prefix('refs/heads/')}")
real_argvs.push("upstream_commit=#{commit_id}")
tag = %x(git -C /srv/git/#{newrefs_info['git_repo']}.git tag --points-at #{commit_id})
real_argvs.push("upstream_tag=#{tag}") unless tag.empty?
repo['branch'] = branch.delete_prefix('refs/heads/')
repo['commit'] = commit_id
system(real_argvs.join(' '))
break if repo['branch'] == 'master'
end
repo
end
def submit(newrefs_info, submit_argv)
real_argvs = Array.new(submit_argv)
repo = get_branch_argvs(newrefs_info)
real_argvs.push("upstream_branch=#{repo['branch']}")
real_argvs.push("upstream_commit=#{repo['commit']}")
tag = %x(git -C /srv/git/#{newrefs_info['git_repo']}.git tag --points-at #{repo['commit']})
real_argvs.push("upstream_tag=#{tag}") unless tag.empty?
system(real_argvs.join(' ')) end
def get_argvs(newrefs_info)
-- 2.23.0