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

Handle "-" at beginning of filenames, part 3

From
Linus Torvalds <torvalds@osdl.org>
Date
Oct 18, 2005, 05:57 UTC
Message-ID
<Pine.LNX.4.64.0510172251340.3369@g5.osdl.org>
In-Reply-To
<Pine.LNX.4.64.0510172243560.3369@g5.osdl.org>

This fixes the default built-in exec() of "diff" to add a "--" before the filenames, so that if a filename starts with a "-", the diff program won't think it's an option.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
---

This should complete the series. Now all the parts should be safe and pass on "--" properly. Knock wood.

On Mon, 17 Oct 2005, Linus Torvalds wrote:
> 
> It adds "--" to the git-diff.sh scripts, to keep any filenames that start 
> with a "-" from being confused with an option.
diff --git a/diff.c b/diff.c
index cbb8632..d6b5086 100644
--- a/diff.c
+++ b/diff.c
@@ -134,7 +134,7 @@ static void builtin_diff(const char *nam
 {
 	int i, next_at, cmd_size;
 	const char *const diff_cmd = "diff -L%s%s -L%s%s";
-	const char *const diff_arg  = "%s %s||:"; /* "||:" is to return 0 */
+	const char *const diff_arg  = "-- %s %s||:"; /* "||:" is to return 0 */
 	const char *input_name_sq[2];
 	const char *path0[2];
 	const char *path1[2];
Previous: Linus TorvaldsNext: Junio C Hamano
Message 9 of 10 in “git-checkout-index, flag ordering and --prefix kludgy handling”
  1. BlaisorbladeOct 16, 2005
  2. Junio C HamanoOct 17, 2005
  3. Linus TorvaldsOct 17, 2005
  4. Junio C HamanoOct 18, 2005
  5. Linus TorvaldsOct 18, 2005
  6. Junio C HamanoOct 18, 2005
  7. Linus TorvaldsOct 18, 2005
  8. Teach "git diff" to handle filenames startign with '-'Linus Torvalds, Oct 18, 2005
  9. Handle "-" at beginning of filenames, part 3Linus Torvalds, Oct 18, 2005
  10. git-checkout: revert specific paths to either index or a given tree-ish.Junio C Hamano, Oct 18, 2005

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.