On Wed, Mar 27, 2013 at 02:16:24PM -0500, Jed Brown wrote:
> Charlie Smurthwaite <[email protected]> writes:
>
> > Yes, I would need to be able to do this on a bare repo for my use case.
>
> And if it's on the server, you don't want this to be observable, so
> you don't want HEAD to move around. I don't know a better way than:
>
> $ git clone --shared -b upstream-branch bare-repo.git /tmp/merge-repo
> $ cd /tmp/merge-repo
> $ git pull URL incoming-branch
>
> Cloning with --shared just writes a path into .git/objects/info/alternatives
> and it doesn't need to be on the same file system (unlike --local).
>
> Since 'git merge-tree' just works with trees, it has less information
> than 'git merge'.
You could use a temporary index and do something like:
rm -f TMP_INDEX
GIT_INDEX_FILE=TMP_INDEX
export GIT_INDEX_FILE
git read-tree -m $base $ours $theirs &&
git merge-index git-merge-one-file -a
then inspect that with "git diff-index --cached $ours".
Note that this will fail if there are conflicts and I don't know what
git-merge-tree will do in that case.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html