mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-09-21 04:10:37 +02:00
feat(deploy): support the index-only option when syncing from/to local copies
This commit is contained in:
parent
86524ea56d
commit
8e6996b25d
18
.vscode/settings.json
vendored
18
.vscode/settings.json
vendored
@ -2,20 +2,8 @@
|
|||||||
"python.formatting.blackArgs": [
|
"python.formatting.blackArgs": [
|
||||||
"--config=pyproject.toml"
|
"--config=pyproject.toml"
|
||||||
],
|
],
|
||||||
"python.formatting.provider": "black",
|
"python.analysis.typeCheckingMode": "basic",
|
||||||
"python.linting.banditEnabled": true,
|
"conventionalCommits.scopes": [
|
||||||
"python.linting.banditArgs": [
|
"deploy"
|
||||||
"-ii",
|
|
||||||
"--ini=.bandit",
|
|
||||||
],
|
],
|
||||||
"python.linting.enabled": true,
|
|
||||||
"python.linting.mypyArgs": [
|
|
||||||
"--config-file=mypy.ini"
|
|
||||||
],
|
|
||||||
"python.linting.mypyEnabled": true,
|
|
||||||
"python.linting.flake8Enabled": true,
|
|
||||||
"python.linting.pylintArgs": [
|
|
||||||
"--rcfile=.pylint-rcfile"
|
|
||||||
],
|
|
||||||
"python.linting.pylintEnabled": true,
|
|
||||||
}
|
}
|
@ -61,7 +61,7 @@ INDEX_FILES = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def _get_index_file_paths(repo_section):
|
def _get_index_file_paths(base_dir):
|
||||||
"""Return the list of files to be synced last, since they finalize the deploy.
|
"""Return the list of files to be synced last, since they finalize the deploy.
|
||||||
|
|
||||||
The process of pushing all the new packages to the various
|
The process of pushing all the new packages to the various
|
||||||
@ -70,11 +70,11 @@ def _get_index_file_paths(repo_section):
|
|||||||
client learns about them from the new index files.
|
client learns about them from the new index files.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
return [os.path.join(repo_section, filename) for filename in INDEX_FILES]
|
return [os.path.join(base_dir, filename) for filename in INDEX_FILES]
|
||||||
|
|
||||||
|
|
||||||
def _get_index_excludes(repo_section):
|
def _get_index_excludes(base_dir):
|
||||||
indexes = _get_index_file_paths(repo_section)
|
indexes = _get_index_file_paths(base_dir)
|
||||||
index_excludes = []
|
index_excludes = []
|
||||||
for f in indexes:
|
for f in indexes:
|
||||||
index_excludes.append('--exclude')
|
index_excludes.append('--exclude')
|
||||||
@ -82,8 +82,8 @@ def _get_index_excludes(repo_section):
|
|||||||
return index_excludes
|
return index_excludes
|
||||||
|
|
||||||
|
|
||||||
def _get_index_includes(repo_section):
|
def _get_index_includes(base_dir):
|
||||||
indexes = _get_index_file_paths(repo_section)
|
indexes = _get_index_file_paths(base_dir)
|
||||||
index_includes = []
|
index_includes = []
|
||||||
for f in indexes:
|
for f in indexes:
|
||||||
index_includes.append('--include')
|
index_includes.append('--include')
|
||||||
@ -387,6 +387,11 @@ def sync_from_localcopy(repo_section, local_copy_dir):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
logging.info('Syncing from local_copy_dir to this repo.')
|
logging.info('Syncing from local_copy_dir to this repo.')
|
||||||
|
if options.index_only:
|
||||||
|
common.local_rsync(options,
|
||||||
|
_get_index_includes(local_copy_dir),
|
||||||
|
repo_section.rstrip('/') + '/')
|
||||||
|
else:
|
||||||
# trailing slashes have a meaning in rsync which is not needed here, so
|
# trailing slashes have a meaning in rsync which is not needed here, so
|
||||||
# make sure both paths have exactly one trailing slash
|
# make sure both paths have exactly one trailing slash
|
||||||
common.local_rsync(options,
|
common.local_rsync(options,
|
||||||
@ -407,6 +412,11 @@ def update_localcopy(repo_section, local_copy_dir):
|
|||||||
drive.
|
drive.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
if options.index_only:
|
||||||
|
common.local_rsync(options,
|
||||||
|
_get_index_includes(repo_section),
|
||||||
|
repo_section.rstrip('/') + '/')
|
||||||
|
else:
|
||||||
# local_copy_dir is guaranteed to have a trailing slash in main() below
|
# local_copy_dir is guaranteed to have a trailing slash in main() below
|
||||||
common.local_rsync(options, repo_section, local_copy_dir)
|
common.local_rsync(options, repo_section, local_copy_dir)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user