threads / patch / 35500

patchpull: use merge-base --fork-point when appropriate

Subject: [PATCH] pull: use merge-base --fork-point when appropriate

## tl;dr

2 messages between Dec 8, 2013 and Dec 10, 2013. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

John Keeping· Dec 8, 2013, 12:47 UTC · lore

Since commit d96855f (merge-base: teach "--fork-point" mode, 2013-10-23) we can replace a shell loop in git-pull with a single call to git-merge-base. So let's do so.

Signed-off-by: John Keeping <john@keeping.me.uk>
---
 git-pull.sh | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)
Show changes to git-pull.sh +1 −9
diff --git a/git-pull.sh b/git-pull.sh
index b946fd9..605e957 100755
--- a/git-pull.sh
+++ b/git-pull.sh
@@ -229,15 +229,7 @@ test true = "$rebase" && {
 	test -n "$curr_branch" &&
 	. git-parse-remote &&
 	remoteref="$(get_remote_merge_branch "$@" 2>/dev/null)" &&
-	oldremoteref="$(git rev-parse -q --verify "$remoteref")" &&
-	for reflog in $(git rev-list -g $remoteref 2>/dev/null)
-	do
-		if test "$reflog" = "$(git merge-base $reflog $curr_branch)"
-		then
-			oldremoteref="$reflog"
-			break
-		fi
-	done
+	oldremoteref=$(git merge-base --fork-point "$remoteref" $curr_branch)
 }
 orig_head=$(git rev-parse -q --verify HEAD)
 git fetch $verbosity $progress $dry_run $recurse_submodules --update-head-ok "$@" || exit 1
-- 
1.8.5.226.g0d60d77
Jonathan Nieder· Dec 10, 2013, 01:58 UTC · re: John Keeping · lore

Re: [PATCH] pull: use merge-base --fork-point when appropriate

John Keeping wrote:
Show 8 quoted lines
> Since commit d96855f (merge-base: teach "--fork-point" mode, 2013-10-23)
> we can replace a shell loop in git-pull with a single call to
> git-merge-base.  So let's do so.
>
> Signed-off-by: John Keeping <john@keeping.me.uk>
> ---
>  git-pull.sh | 10 +---------
>  1 file changed, 1 insertion(+), 9 deletions(-)
Yay!  Looks good.

← back to recent threads