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

Re: [RFC PATCH] Pass empty file to p4merge where no base is suitable.

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 19, 2011, 21:33 UTC
Message-ID
<7vwriq3p0t.fsf@alter.siamese.dyndns.org>
In-Reply-To
<BANLkTimXBayYAScPfk2j9spxcYrmtMJKxg@mail.gmail.com>
Ciaran <ciaranj@gmail.com> writes:
Show 10 quoted lines
> --- a/git-mergetool--lib.sh
> +++ b/git-mergetool--lib.sh
> @@ -262,7 +262,9 @@ run_merge_tool () {
>  			if $base_present; then
>  				"$merge_tool_path" "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
>  			else
> -				"$merge_tool_path" "$LOCAL" "$LOCAL" "$REMOTE" "$MERGED"
> +				touch "$GIT_DIR/.no_base"
> +				"$merge_tool_path" "$GIT_DIR/.no_base" "$LOCAL" "$REMOTE" "$MERGED"
> +				rm "$GIT_DIR/.no_base"

The calling script "git-mergetool.sh" seems to take pains to construct these filenames to have the same .ext, presumably so that the tool can take advantage of it to determine the type of contents and do something intelligent about it (e.g. syntax highlighting).

Does the use of .no_base interfere with that effort?

I suspect that you may be able to simply use "$BASE" for that, no? It will be cleaned up when cleanup_temp_files() is run anyway (warning: I do not use mergetool, and I am writing this only from my cursory looking of the script, so take this with a large grain of salt).

Also, the command to use when you want to get an empty file is not "touch". It is not likely that you would have an existing file there, but the whole point of the updated codepath is to have an empty file, and not a file with recent timestamp, it would be far more sensible to say

	: >"$BASE"
i.e. redirect into the path, with a no-op command.
Previous: CiaranNext: Junio C Hamano
Message 2 of 9 in “Pass empty file to p4merge where no base is suitable.”
  1. Pass empty file to p4merge where no base is suitable.Ciaran, Apr 19, 2011
  2. Junio C HamanoApr 19, 2011
  3. Junio C HamanoApr 19, 2011
  4. CiaranMay 1, 2011
  5. Junio C HamanoMay 1, 2011
  6. CiaranMay 1, 2011
  7. CiaranMay 1, 2011
  8. Junio C HamanoMay 1, 2011
  9. CiaranMay 2, 2011

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.