From 5307fd743bd6dfafddfdb376306d2d0d983e8dd5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C4=81nis=20R=C5=ABcis?= Date: Mon, 16 Aug 2010 19:55:23 +0300 Subject: [PATCH 1/1] Add a script for merging master to a map branch in a bare repo --- misc/tools/git-pk3-merge | 97 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100755 misc/tools/git-pk3-merge diff --git a/misc/tools/git-pk3-merge b/misc/tools/git-pk3-merge new file mode 100755 index 00000000..69e8298c --- /dev/null +++ b/misc/tools/git-pk3-merge @@ -0,0 +1,97 @@ +#!/bin/sh + +# git-pk3-merge: Attempt a trivial merge of master in a bare repo. + +set -x + +# Helpers + +die() +{ + echo "$(basename "$0"): error: $*" >&2 + exit 1 +} + +usage() +{ + cat < /dev/null) || +die "couldn't determine the common ancestor" + +# Figure out the parent commits +parent1=$(git rev-parse --verify -q $ref) && +parent2=$(git rev-parse --verify -q $master) || +die "couldn't determine parent commits" + +# Attempt a trivial merge +git read-tree -i -m --aggressive --trivial $base $ref $master || +die "couldn't do a trivial merge" + +# Check if the index contains changes against parent +git diff-index --cached --quiet $parent1 && +die "found no changes to commit" + +# Commit the index and point the ref to the new commit +tree=$(git write-tree) && +commit=$(message | git commit-tree $tree -p $parent1 -p $parent2) && +git update-ref -m "pk3-merge" $ref $commit || +die "couldn't commit merge" -- 2.39.2