dir: add a usage note to exclude_per_dir

As evidenced by the fix a couple commits ago, places in the code using exclude_per_dir are likely buggy and should be adapted to call setup_standard_excludes() instead. Unfortunately, the usage of exclude_per_dir has been hardcoded into the arguments ls-files accepts, so we cannot actually remove it. Add a note that it is deprecated and no other callers should use it directly. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Elijah Newren committed Feb 27, 2023 at 15:28 UTC 59e009bf15cefd89105c3e162776ccf10f4e68f1
1 file changed +6 -2
dir.h
+6 -2
@@ -295,8 +295,12 @@ struct dir_struct {
295 struct untracked_cache *untracked;
296
297 /**
298 - * The name of the file to be read in each directory for excluded files
299 - * (typically `.gitignore`).
298 + * Deprecated: ls-files is the only allowed caller; all other callers
299 + * should leave this as NULL; it pre-dated the
300 + * setup_standard_excludes() mechanism that replaces this.
301 + *
302 + * This field tracks the name of the file to be read in each directory
303 + * for excluded files (typically `.gitignore`).
304 */
305 const char *exclude_per_dir;
306