This adds NUL-terminated output (-z) to show-files. This is necessary for merge-trees script to deal with filenames with embedded newlines.
Signed-off-by: Junio C Hamano <[EMAIL PROTECTED]> --- show-files.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) Index: show-files.c =================================================================== --- 6767883b330882bc0e9a7c1e4fd999c0ee97ba3a/show-files.c (mode:100664 sha1:a9fa6767a418f870a34b39379f417bf37b17ee18) +++ 21e5e9f7d7dfa81c6519f0204d5a467236c7fdd5/show-files.c (mode:100664 sha1:c392db8b4edb16675528f86e106e841f42bc74e4) @@ -14,6 +14,7 @@ static int show_cached = 0; static int show_others = 0; static int show_ignored = 0; +static int line_terminator = '\n'; static const char **dir; static int nr_dir; @@ -105,12 +106,12 @@ } if (show_others) { for (i = 0; i < nr_dir; i++) - printf("%s\n", dir[i]); + printf("%s%c", dir[i], line_terminator); } if (show_cached) { for (i = 0; i < active_nr; i++) { struct cache_entry *ce = active_cache[i]; - printf("%s\n", ce->name); + printf("%s%c", ce->name, line_terminator); } } if (show_deleted) { @@ -119,7 +120,7 @@ struct stat st; if (!stat(ce->name, &st)) continue; - printf("%s\n", ce->name); + printf("%s%c", ce->name, line_terminator); } } if (show_ignored) { @@ -134,6 +135,11 @@ for (i = 1; i < argc; i++) { char *arg = argv[i]; + if (!strcmp(arg, "-z")) { + line_terminator = 0; + continue; + } + if (!strcmp(arg, "--cached")) { show_cached = 1; continue; - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html