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

Re: No merge strategy handled the merge (git version 1.1.GIT)

From
RNRoberto Nibali <ratz@drugphish.ch>
Date
Jan 29, 2006, 23:42 UTC
Message-ID
<43DD52ED.7090503@drugphish.ch>
In-Reply-To
<20060129120344.GB4815@c165.ib.student.liu.se>
Show 13 quoted lines
>>     raise ProgramError(progStr, e.strerror)
>> ProgramError: merge -L HEAD/net/ipv4/ipvs/ip_vs_ctl.c -L 
>> orig/net/ipv4/ipvs/ip_vs_ctl.c -L 
>> 3ee68c4af3fd7228c1be63254b9f884614f9ebb2/net/ipv4/ipvs/ip_vs_ctl.c 
>> .merge_file_uofMwv .merge_file_hcesLs .merge_file_TwtEqw: No such file 
>> or directory
>> No merge strategy handled the merge.
>>
> 
> The problem is that merge(1), which is used for file-level merges,
> couldn't be found. Is it installed on your system? If you use Linux,
> it is usually found in the "rcs" package in your favorite
> distribution.
That's it, I've installed it now.
> This have came up a couple of times now, we should probably make this
> error message a bit less cryptic. I will send a patch in a separate
> mail.
Thanks.
Show 8 quoted lines
> If your repository is in the state that the failed git-pull left it
> in, then the following actions should merge your changes with Linus'
> tree.
> 
> 1. Install merge(1)
> 2. Run 'git reset --hard' (NOTE: Be careful with this command. It will
>    revert any uncommitted changes you may have in your working directory!)
> 3. Run 'git pull'
This worked. And as you've mentioned, I lost the uncommitted changes.
Show 6 quoted lines
>> Oh, btw, how is git branch -D supposed to work? Isn't there some code 
>> missing?
> 
> Could you be a bit more specific? Do you mean that there is code
> missing in git-branch.sh? What happens when you run 'git branch -D
> <some branch>'? It seems to work fine here.

Well, I was trying to understand git a bit better, so I started reading the source code and just found that -D wasn't documented on my system, even after a

git clone rsync://git.kernel.org/pub/scm/git/git.git/ GIT_HEAD
I'm talking about following excerpt which I've looked at for 2 minutes:
#!/bin/sh

USAGE='[-d <branch>] | [[-f] <branch> [start-point]]' LONG_USAGE='If no arguments, show available branches and mark current branch with a star. If one argument, create a new branch <branchname> based off of current HEAD. If two arguments, create a new branch <branchname> based off of <start-point>.'

SUBDIRECTORY_OK='Yes' . git-sh-setup

headref=$(git-symbolic-ref HEAD | sed -e 's|^refs/heads/||')
delete_branch () {
     option="$1"
     shift
     for branch_name
     do
         case ",$headref," in
         ",$branch_name,")
             die "Cannot delete the branch you are on." ;;
         ,,)
             die "What branch are you on anyway?" ;;
         esac
         branch=$(cat "$GIT_DIR/refs/heads/$branch_name") &&
             branch=$(git-rev-parse --verify "$branch^0") ||
                 die "Seriously, what branch are you talking about?"
         case "$option" in
         -D)
             ;;
[...]

This is slightly confusing, since I didn't see the shift after delete_branch so it looked like a noop. On top of that "-D" did/does not seem to be documented. Skimming over your patch you've sent later to this list, it appears you've fixed the documentation.

Best regards, Roberto Nibali, ratz

-- 
echo 
'[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc
Previous: Radoslaw SzkodzinskiNext: Junio C Hamano
Message 7 of 8 in “No merge strategy handled the merge (git version 1.1.GIT)”
  1. Roberto NibaliJan 28, 2006
  2. Fredrik KuivinenJan 29, 2006
  3. merge-recursive: Improve the error message printed when merge(1) isn't found.Fredrik Kuivinen, Jan 29, 2006
  4. Roberto NibaliJan 29, 2006
  5. Radoslaw SzkodzinskiJan 29, 2006
  6. Radoslaw SzkodzinskiJan 29, 2006
  7. Roberto NibaliJan 29, 2006
  8. Junio C HamanoJan 29, 2006

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.