From: Junio C Hamano Date: Wed, 2 Nov 2005 03:34:49 +0000 (-0800) Subject: Add 'ours' merge strategy. X-Git-Tag: v0.99.9c^2~4 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=64da9e604eea25c9c20cfe12618285ccd0bf3cfe;p=git.git 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 --- diff --git a/.gitignore b/.gitignore index 927c89cb..3edf6b41 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/Makefile b/Makefile index be6101ab..6c01dc29 100644 --- a/Makefile +++ b/Makefile @@ -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 \ diff --git a/git-merge-ours.sh b/git-merge-ours.sh new file mode 100755 index 00000000..a64704f3 --- /dev/null +++ b/git-merge-ours.sh @@ -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 diff --git a/git-merge.sh b/git-merge.sh index dd104db7..b810fcea 100755 --- a/git-merge.sh +++ b/git-merge.sh @@ -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=