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

Re: [GIT PULL] Please pull mergetool.git

From
Theodore Tso <tytso@mit.edu>
Date
Mar 14, 2007, 06:17 UTC
Message-ID
<20070314061744.GA12710@thunk.org>
In-Reply-To
<20070314055923.GA20978@spearce.org>
On Wed, Mar 14, 2007 at 01:59:23AM -0400, Shawn O. Pearce wrote:
Show 17 quoted lines
> Theodore Ts'o <tytso@mit.edu> wrote:
> > +    base_mode=`git ls-files -u -- "$path" | awk '{if ($3==1) print $1;}'`
> > +    local_mode=`git ls-files -u -- "$path" | awk '{if ($3==2) print $1;}'`
> > +    remote_mode=`git ls-files -u -- "$path" | awk '{if ($3==3) print $1;}'`
> > +
> > +    base_present   && git cat-file blob ":1:$path" > "$BASE" 2>/dev/null
> > +    local_present  && git cat-file blob ":2:$path" > "$LOCAL" 2>/dev/null
> > +    remote_present && git cat-file blob ":3:$path" > "$REMOTE" 2>/dev/null
> 
> Why not use `git checkout-index --stage=all "$path"` ?
> E.g.:
> 
> 	git checkout-index --stage=all "$path" |
> 	read base_temp local_temp remote_temp path
> 
> I'm not trying to nitpick, I'm just curious about why this particular
> feature of checkout-index was not useful here.
1)  I didn't know about it.
2) If I used it would I have to have renamed the files to
<path>.LOCAL, <path>.BASE, et.al, because with most of the graphical
merge tools, the filename is the only thing which gets displayed to
tell the user which file came from the local branch or the remote
branch or the base revision --- since file names such as
.merge_file_QBaxrn and .merge_file_prSEqs don't have a lot of human
meaning.....

So I don't know that it would havce saved much in the script. You replace three invocations to git-cat-file with one invocation to git-checkout-index plus three invocations to mv.

Regards,
						- Ted
			
Previous: Shawn O. PearceNext: Junio C Hamano
Message 3 of 6 in “[GIT PULL] Please pull mergetool.git”
  1. Theodore Ts'oMar 14, 2007
  2. Shawn O. PearceMar 14, 2007
  3. Theodore TsoMar 14, 2007
  4. Junio C HamanoMar 14, 2007
  5. Junio C HamanoMar 14, 2007
  6. Alex RiesenMar 14, 2007

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.