In CVS, the -f option keeps directory entries out of scm.sh ls-file's listing; in Git, it's a silent no-op. Notably symlinks are not excluded despite -f. Implement -f for git with a mode filter on git ls-files -s output: only 100644 and 100755 entries are listed, so the option means the same thing in both code paths. For Git, this actually means a behaviour change which needs to be fixed: The dist archive targets tar-files and cpio-files in make/list-files.mk and the scm_files() helper in scripts/pkg.sh then may no longer pass it to get unchanged behaviour. The targets list-files and list-text-files keep it, so the text-files cache now matches its documented regular-files-only membership. Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.85.1 Signed-off-by: Jan Lindemann <jan@janware.com>
18 lines
454 B
Makefile
18 lines
454 B
Makefile
LIST_VCS_FILES := /bin/bash $(JWB_SCRIPT_DIR)/scm.sh ls-files
|
|
|
|
ifndef LIST_FILES_MK_INCLUDED
|
|
LIST_FILES_MK_INCLUDED := true
|
|
|
|
list-files echo-files:
|
|
$(Q)$(LIST_VCS_FILES) -f
|
|
|
|
list-text-files echo-text-files:
|
|
$(Q)$(LIST_VCS_FILES) -ft
|
|
|
|
tar-files:
|
|
$(Q)$(LIST_VCS_FILES) $(TOPDIR) | xargs tar -C $(TOPDIR) -cf -
|
|
|
|
cpio-files:
|
|
$(Q)$(LIST_VCS_FILES) $(TOPDIR) | cpio --directory=$(TOPDIR) -o -H newc
|
|
|
|
endif # ifndef LIST_FILES_MK_INCLUDED
|