From 4efbf3bd0d44372ec469296a3e292dd47ea7cd0d Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 12 Jul 2026 17:11:25 +0700 Subject: [PATCH] fetch-changed: skip prefix and diff only incoming changes --- mk/repo.mk | 2 +- scripts/fetch-changed.sh | 2 +- src/cook/fetch.rs | 12 ++++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/mk/repo.mk b/mk/repo.mk index 7ba8ff275..f9e9e8723 100644 --- a/mk/repo.mk +++ b/mk/repo.mk @@ -91,7 +91,7 @@ else endif # Invoke fetch for one or more targets separated by comma -f.%: prefix $(FSTOOLS_TAG) FORCE +f.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) $(PODMAN_RUN) make $@ else diff --git a/scripts/fetch-changed.sh b/scripts/fetch-changed.sh index 7e0f956a8..d78c15638 100755 --- a/scripts/fetch-changed.sh +++ b/scripts/fetch-changed.sh @@ -4,7 +4,7 @@ set -e git fetch origin master packages="" -for toml in $(git diff --name-only origin/master | grep '/recipe.toml$' | sort | uniq) +for toml in $(git diff --name-only origin/master... | grep '/recipe.toml$' | sort | uniq) do package="$(basename "$(dirname "${toml}")")" if [ -n "${packages}" ] diff --git a/src/cook/fetch.rs b/src/cook/fetch.rs index 625ce2153..c35b423ea 100644 --- a/src/cook/fetch.rs +++ b/src/cook/fetch.rs @@ -653,6 +653,10 @@ pub(crate) fn fetch_cargo( cargopath: Option<&String>, logger: &PtyOut, ) -> Result<()> { + if !check_toolchain_available() { + return Ok(()); + } + let mut source_dir = source_dir.clone(); if let Some(cargopath) = cargopath { source_dir = source_dir.join(cargopath); @@ -674,6 +678,14 @@ pub(crate) fn fetch_cargo( Ok(()) } +/// Check if "REDOXER_TOOLCHAIN" is available. +fn check_toolchain_available() -> bool { + let Ok(dir) = std::env::var("REDOXER_TOOLCHAIN") else { + return false; + }; + PathBuf::from(dir).is_dir() +} + pub fn fetch_remote( recipe_dir: &Path, recipe: &CookRecipe,