diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 9497747b..82f72c9a 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -962,7 +962,7 @@ def trybuild(app, build, build_dir, output_dir, log_dir, also_check_dir, if server: # When using server mode, still keep a local cache of the repo, by # grabbing the source now. - vcs.gotorevision(build.commit) + vcs.gotorevision(build.commit, refresh) build_server(app, build, vcs, build_dir, output_dir, log_dir, force) else: @@ -1124,7 +1124,7 @@ def main(): # Read all app and srclib metadata pkgs = common.read_pkg_args(options.appid, True) - allapps = metadata.read_metadata(not options.onserver, pkgs, sort_by_time=True) + allapps = metadata.read_metadata(not options.onserver, pkgs, options.refresh, sort_by_time=True) apps = common.read_app_args(options.appid, allapps, True) for appid, app in list(apps.items()): diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index 3c03df72..a67bf152 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -710,7 +710,7 @@ def read_srclibs(): srclibs[srclibname] = parse_srclib(metadatapath) -def read_metadata(xref=True, check_vcs=[], sort_by_time=False): +def read_metadata(xref=True, check_vcs=[], refresh=True, sort_by_time=False): """Return a list of App instances sorted newest first This reads all of the metadata files in a 'data' repository, then @@ -760,7 +760,7 @@ def read_metadata(xref=True, check_vcs=[], sort_by_time=False): if packageName in apps: warn_or_exception(_("Found multiple metadata files for {appid}") .format(path=packageName)) - app = parse_metadata(metadatapath, packageName in check_vcs) + app = parse_metadata(metadatapath, packageName in check_vcs, refresh) check_metadata(app) apps[app.id] = app @@ -944,7 +944,7 @@ def _decode_bool(s): warn_or_exception(_("Invalid boolean '%s'") % s) -def parse_metadata(metadatapath, check_vcs=False): +def parse_metadata(metadatapath, check_vcs=False, refresh=True): '''parse metadata file, optionally checking the git repo for metadata first''' _ignored, ext = fdroidserver.common.get_extension(metadatapath) @@ -978,7 +978,7 @@ def parse_metadata(metadatapath, check_vcs=False): if not os.path.isfile(metadata_in_repo): vcs, build_dir = fdroidserver.common.setup_vcs(app) if isinstance(vcs, fdroidserver.common.vcs_git): - vcs.gotorevision('HEAD') # HEAD since we can't know where else to go + vcs.gotorevision('HEAD', refresh) # HEAD since we can't know where else to go if os.path.isfile(metadata_in_repo): logging.debug('Including metadata from ' + metadata_in_repo) # do not include fields already provided by main metadata file