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

From: Roberto Nibali <ratz@drugphish.ch>
Date: 2006-01-30 10:42:37
>>     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.

> 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.

>> 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
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Mon Jan 30 10:42:51 2006

This archive was generated by hypermail 2.1.8 : 2006-01-30 10:44:00 EST