| |
@@ -3234,6 +3234,8 @@
|
| |
parser.add_option("-f","--force", action="store_true",
|
| |
help=_("override tag locks if necessary"))
|
| |
parser.add_option("-n","--test", action="store_true", help=_("test mode"))
|
| |
+ parser.add_option("--batch", type='int', default=1000, metavar='SIZE',
|
| |
+ help=_("batch size of multicalls [0 to disable, default: %default]"))
|
| |
(options, args) = parser.parse_args(args)
|
| |
|
| |
if len(args) != 2:
|
| |
@@ -3249,6 +3251,9 @@
|
| |
sys.stdout.write('Source and destination tags must be different.\n')
|
| |
return
|
| |
|
| |
+ if options.batch < 0:
|
| |
+ parser.error(_("batch size must be bigger than zero"))
|
| |
+
|
| |
if options.all:
|
| |
options.config = options.groups = options.pkgs = options.builds = True
|
| |
|
| |
@@ -3300,7 +3305,7 @@
|
| |
owner=pkgs['owner_name'],block=pkgs['blocked'],
|
| |
extra_arches=pkgs['extra_arches'])
|
| |
if not options.test:
|
| |
- session.multiCall()
|
| |
+ session.multiCall(batch=options.batch)
|
| |
if options.builds:
|
| |
# get --all latest builds from src tag
|
| |
builds = session.listTagged(srctag['id'], event=event.get('id'),
|
| |
@@ -3317,7 +3322,7 @@
|
| |
if not options.test:
|
| |
session.tagBuildBypass(newtag['name'], build, force=options.force)
|
| |
if not options.test:
|
| |
- session.multiCall()
|
| |
+ session.multiCall(batch=options.batch)
|
| |
if options.groups:
|
| |
# Copy the group data
|
| |
srcgroups = session.getTagGroups(srctag['name'], event=event.get('id'))
|
| |
@@ -3332,7 +3337,7 @@
|
| |
pkg['package'], block=pkg['blocked'])
|
| |
chggrplist.append(('[new]', pkg['package'], group['name']))
|
| |
if not options.test:
|
| |
- session.multiCall()
|
| |
+ session.multiCall(batch=options.batch)
|
| |
# case of existing dst-tag.
|
| |
if dsttag:
|
| |
# get fresh list of packages & builds into maps.
|
| |
@@ -3423,7 +3428,7 @@
|
| |
block=pkg['blocked'],
|
| |
extra_arches=pkg['extra_arches'])
|
| |
if not options.test:
|
| |
- session.multiCall()
|
| |
+ session.multiCall(batch=options.batch)
|
| |
# ADD builds.
|
| |
if not options.test:
|
| |
session.multicall = True
|
| |
@@ -3436,7 +3441,7 @@
|
| |
if not options.test:
|
| |
session.tagBuildBypass(dsttag['name'], build, force=options.force)
|
| |
if not options.test:
|
| |
- session.multiCall()
|
| |
+ session.multiCall(batch=options.batch)
|
| |
# ADD groups.
|
| |
if not options.test:
|
| |
session.multicall = True
|
| |
@@ -3448,7 +3453,7 @@
|
| |
session.groupPackageListAdd(dsttag['name'], group['name'], pkg['package'], force=options.force)
|
| |
chggrplist.append(('[new]', pkg['package'], group['name']))
|
| |
if not options.test:
|
| |
- session.multiCall()
|
| |
+ session.multiCall(batch=options.batch)
|
| |
# ADD group pkgs.
|
| |
if not options.test:
|
| |
session.multicall = True
|
| |
@@ -3458,7 +3463,7 @@
|
| |
if not options.test:
|
| |
session.groupPackageListAdd(dsttag['name'], group, pkg, force=options.force)
|
| |
if not options.test:
|
| |
- session.multiCall()
|
| |
+ session.multiCall(batch=options.batch)
|
| |
# DEL builds.
|
| |
if not options.test:
|
| |
session.multicall = True
|
| |
@@ -3473,7 +3478,7 @@
|
| |
if not options.test:
|
| |
session.untagBuildBypass(dsttag['name'], build, force=options.force)
|
| |
if not options.test:
|
| |
- session.multiCall()
|
| |
+ session.multiCall(batch=options.batch)
|
| |
# DEL packages.
|
| |
ninhrtpdellist = []
|
| |
inhrtpdellist = []
|
| |
@@ -3487,7 +3492,7 @@
|
| |
for pkg in ninhrtpdellist:
|
| |
# check if package have owned builds inside.
|
| |
session.listTagged(dsttag['name'], package=pkg['package_name'], inherit=False)
|
| |
- bump_builds = session.multiCall()
|
| |
+ bump_builds = session.multiCall(batch=options.batch)
|
| |
if not options.test:
|
| |
session.multicall = True
|
| |
for pkg, [builds] in zip(ninhrtpdellist, bump_builds):
|
| |
@@ -3512,7 +3517,7 @@
|
| |
if not options.test:
|
| |
session.packageListBlock(dsttag['name'], pkg['package_name'])
|
| |
if not options.test:
|
| |
- session.multiCall()
|
| |
+ session.multiCall(batch=options.batch)
|
| |
# DEL groups.
|
| |
if not options.test:
|
| |
session.multicall = True
|
| |
@@ -3530,7 +3535,7 @@
|
| |
for pkg in group['packagelist']:
|
| |
chggrplist.append(('[blk]', pkg['package'], group['name']))
|
| |
if not options.test:
|
| |
- session.multiCall()
|
| |
+ session.multiCall(batch=options.batch)
|
| |
# DEL group pkgs.
|
| |
if not options.test:
|
| |
session.multicall = True
|
| |
@@ -3546,7 +3551,7 @@
|
| |
if not options.test:
|
| |
session.groupPackageListBlock(dsttag['name'], group, pkg)
|
| |
if not options.test:
|
| |
- session.multiCall()
|
| |
+ session.multiCall(batch=options.batch)
|
| |
# print final list of actions.
|
| |
if options.verbose:
|
| |
pfmt=' %-7s %-28s %-10s %-10s %-10s\n'
|
| |
fixes #885
ClientSession.multiCall()
clone-tag
command