]> git.ipfire.org Git - thirdparty/git.git/commitdiff
sparse-checkout: use default patterns for 'set' only !stdin
authorJunio C Hamano <gitster@pobox.com>
Thu, 21 Dec 2023 06:59:24 +0000 (22:59 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 26 Dec 2023 20:15:58 +0000 (12:15 -0800)
"git sparse-checkout set ---no-cone" uses default patterns when none
is given from the command line, but it should do so ONLY when
--stdin is not being used.  Right now, add_patterns_from_input()
called when reading from the standard input is sloppy and does not
check if there are extra command line parameters that the command
will silently ignore, but that will change soon and not setting this
unnecessary and unused default patterns start to matter when it gets
fixed.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/sparse-checkout.c

index 5c8ffb1f7598b056fadcdd8fb98182d34928e6f3..2ce1c53d017b0b8ff9505aa4280d364b7d9dc6e1 100644 (file)
@@ -835,7 +835,7 @@ static int sparse_checkout_set(int argc, const char **argv, const char *prefix)
         * non-cone mode, if nothing is specified, manually select just the
         * top-level directory (much as 'init' would do).
         */
-       if (!core_sparse_checkout_cone && argc == 0) {
+       if (!core_sparse_checkout_cone && !set_opts.use_stdin && argc == 0) {
                argv = default_patterns;
                argc = default_patterns_nr;
        } else {