Add 'ours' merge strategy.

This adds the coolest merge strategy ever, "ours".  It can take
arbitrary number of foreign heads and merge them into the
current branch, with the resulting tree always taken from our
branch head, hence its name.

What this means is that you can declare that the current branch
supersedes the development histories of other branches using
this merge strategy.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2005-11-01 19:34:49 -08:00
parent 123ee3ca7b
commit 64da9e604e
4 changed files with 10 additions and 2 deletions

1
.gitignore vendored
View File

@ -50,6 +50,7 @@ git-merge-base
git-merge-index
git-merge-octopus
git-merge-one-file
git-merge-ours
git-merge-recursive
git-merge-resolve
git-merge-stupid

View File

@ -89,7 +89,7 @@ SCRIPT_SH = \
git-tag.sh git-verify-tag.sh git-whatchanged.sh git.sh \
git-applymbox.sh git-applypatch.sh git-am.sh \
git-merge.sh git-merge-stupid.sh git-merge-octopus.sh \
git-merge-resolve.sh git-grep.sh
git-merge-resolve.sh git-merge-ours.sh git-grep.sh
SCRIPT_PERL = \
git-archimport.perl git-cvsimport.perl git-relink.perl \

7
git-merge-ours.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
#
# Copyright (c) 2005 Junio C Hamano
#
# Pretend we resolved the heads, but declare our tree trumps everybody else.
#
exit 0

View File

@ -14,7 +14,7 @@ usage () {
# all_strategies='resolve recursive stupid octopus'
all_strategies='recursive octopus resolve stupid'
all_strategies='recursive octopus resolve stupid ours'
default_strategies='resolve octopus'
use_strategies=