Re: [PATCH] Automerge fix
Dear diary, on Tue, Apr 19, 2005 at 04:48:09AM CEST, I got a letter where Linus Torvalds <torvalds@osdl.org> told me that...
Show 23 quoted lines
> > git-merge-one-file-script: 7ebf5dac4c69043cd2ff89bf7ee552152802f8d1
> > --- a/git-merge-one-file-script
> > +++ b/git-merge-one-file-script
> > @@ -43,7 +43,7 @@ case "${1:-.}${2:-.}${3:-.}" in
> > orig=$(unpack-file $1)
> > src1=$(unpack-file $2)
> > src2=$(unpack-file $3)
> > - merge "$src2" "$orig" "$src1" || echo Leaving conflict merge in $src2 && exit 1
> > + merge "$src2" "$orig" "$src1" || (echo Leaving conflict merge in $src2 && exit 1)
> > cp "$src2" "$4" && update-cache --add -- "$4" && exit 0
>
> What's the right way?
>
> Maybe
>
> if merge "$src2" "$orig" "$src1"
> then
> cp "$src2" "$4" && update-cache --add -- "$4" && exit 0
> fi
> echo Leaving conflict merge in $src2
> exit 1
>
> would work?Possibly. Or changing () to {} as suggested by Edgar Toernig.FWIW, my fragment of this code now looks like:
ret=0
if ! merge "$src2" "$orig" "$src1"; then
echo Conflicting merge!
cat "$src2" >"$4"
ret=1 elif ! cat "$src2" >"$4" && update-cache --add -- "$4"; then
echo "Choosing $src2 -> $4 failed"
ret=1
fi
rm "$orig" "$src1" "$src2"
exit $ret--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor