Re: [RFC] Merge strategy 'applyreject'
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Sep 13, 2006, 21:22 UTC
- Message-ID
- <ee9spf$h98$1@sea.gmane.org>
- In-Reply-To
- <20060913210817.GA30782@spearce.org>
Shawn Pearce wrote:
Show 8 quoted lines
> -- >8 -- > Create merge strategy 'applyreject'. > > The applyreject merge strategy is a two head merge strategy which performs > the merge by obtaining the diff between the common base and the branch > being merged and applies it to the current branch using git-apply --reject. > Consequently any failures are written to .rej files, rather than using > the RCS <<<<<<< ======= >>>>>>> format.
Nice.
Show 6 quoted lines
> --- > .gitignore | 1 + > Makefile | 1 + > git-merge-applyreject.sh | 26 ++++++++++++++++++++++++++ > git-merge.sh | 2 +- > 4 files changed, 29 insertions(+), 1 deletions(-)
But where documentation (Documentation/merge-strategies.txt)?
Show 5 quoted lines
> +#!/bin/sh > +# > +# Simple merge strategy which produces reject files on failed merges. > +# Only handles two heads and one merge base, thus the command line > +# parameters must be: base -- head1 head2
We can always get the base using git-merge-base, so the arguments could be either "base -- head1 head2", or just "head1 head2".
Does "git pull -s applyreject . head2" works (when on head1) with this patch? Does the unified driver git-merge works correctly?
> +git-diff --binary -M $base $incoming \ > + | git-apply --index --reject --verbose
--index or --cached?
-- Jakub Narebski Warsaw, Poland ShadeHawk on #git