pull: allow to force pull from archive
Some checks failed
CI / build (push) Failing after 1m2s

This commit is contained in:
2026-01-11 20:43:01 +01:00
parent 70e6d8c051
commit 91c812a530
3 changed files with 5 additions and 4 deletions

View File

@@ -129,7 +129,7 @@ mod tests {
let package_info = crate::package_info::lookup(package, None, Some(series), "", dist, None) let package_info = crate::package_info::lookup(package, None, Some(series), "", dist, None)
.await .await
.expect("Cannot lookup package information"); .expect("Cannot lookup package information");
crate::pull::pull(&package_info, Some(cwd), None) crate::pull::pull(&package_info, Some(cwd), None, true)
.await .await
.expect("Cannot pull package"); .expect("Cannot pull package");
log::info!("Successfully pulled package {}", package); log::info!("Successfully pulled package {}", package);

View File

@@ -111,7 +111,7 @@ fn main() {
Some(&progress_callback), Some(&progress_callback),
) )
.await?; .await?;
pkh::pull::pull(&package_info, None, Some(&progress_callback)).await pkh::pull::pull(&package_info, None, Some(&progress_callback), false).await
}) { }) {
pb.finish_and_clear(); pb.finish_and_clear();
error!("{}", e); error!("{}", e);

View File

@@ -341,6 +341,7 @@ pub async fn pull(
package_info: &PackageInfo, package_info: &PackageInfo,
cwd: Option<&Path>, cwd: Option<&Path>,
progress: ProgressCallback<'_>, progress: ProgressCallback<'_>,
force_archive: bool,
) -> Result<(), Box<dyn Error>> { ) -> Result<(), Box<dyn Error>> {
let package = &package_info.stanza.package; let package = &package_info.stanza.package;
let series = &package_info.series; let series = &package_info.series;
@@ -351,7 +352,7 @@ pub async fn pull(
}; };
/* Fetch the package: either via git (preferred VCS) or the archive */ /* Fetch the package: either via git (preferred VCS) or the archive */
if let Some(ref url) = package_info.preferred_vcs { if let Some(ref url) = package_info.preferred_vcs && !force_archive {
// We have found a preferred VCS (git repository) for the package, so // We have found a preferred VCS (git repository) for the package, so
// we fetch the package from that repo. // we fetch the package from that repo.
@@ -441,7 +442,7 @@ mod tests {
let info = crate::package_info::lookup(package, None, series, "", dist, None) let info = crate::package_info::lookup(package, None, series, "", dist, None)
.await .await
.unwrap(); .unwrap();
pull(&info, Some(cwd), None).await.unwrap(); pull(&info, Some(cwd), None, false).await.unwrap();
let package_dir = cwd.join(package); let package_dir = cwd.join(package);
assert!(package_dir.exists()); assert!(package_dir.exists());