git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] git-mergetool: print filename when it contains %

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 8, 2013, 21:09 UTC
Message-ID
<7vliayzf4r.fsf@alter.siamese.dyndns.org>
In-Reply-To
<alpine.DEB.2.02.1302081558130.23245@rose.makesad.us>
Asheesh Laroia <asheesh@asheesh.org> writes:
> Junio, thanks for the quick reply! I agree with your suggestions, and
> will take a look at addressing them, hopefully by Tuesday or so.
FYI, here is what I queued for now.
-- >8 --
From: Asheesh Laroia <asheesh@asheesh.org>
Date: Thu, 7 Feb 2013 17:16:24 -0800
Subject: [PATCH] git-mergetool: print filename when it contains %

If git-mergetool was invoked with files with a percent sign (%) in their names, it would print an error. For example, if you were calling mergetool on a file called "%2F":

    printf: %2F: invalid directive

Do not pass random string to printf as if it were a valid format. Use format string "%s" and pass the string as a data to be formatted instead.

Signed-off-by: Asheesh Laroia <asheesh@asheesh.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 git-mergetool.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/git-mergetool.sh b/git-mergetool.sh
index c50e18a..012afa5 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -440,7 +440,7 @@ then
 fi
 
 printf "Merging:\n"
-printf "$files\n"
+printf "%s\n" "$files"
 
 IFS='
 '
-- 
1.8.1.3.617.gb5c8e72
Previous: Asheesh Laroia
Message 4 of 4 in “git-mergetool: print filename when it contains %”
  1. git-mergetool: print filename when it contains %Asheesh Laroia, Feb 8, 2013
  2. Junio C HamanoFeb 8, 2013
  3. Asheesh LaroiaFeb 8, 2013
  4. Junio C HamanoFeb 8, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.