{"thread":{"id":"35500","subject":"[PATCH] pull: use merge-base --fork-point when appropriate","startedAt":"2013-12-08T12:47:25Z","lastAt":"2013-12-10T01:58:51Z","messageCount":2,"participants":["John Keeping","Jonathan Nieder"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"231764","messageId":"b208a2edcaf47bf1a97ec19718854dc1b3646828.1386506845.git.john@keeping.me.uk","threadId":"35500","inReplyTo":null,"subject":"[PATCH] pull: use merge-base --fork-point when appropriate","fromName":"John Keeping","fromEmail":"john@keeping.me.uk","sentAt":"2013-12-08T12:47:25Z","receivedAt":"2013-12-08T12:47:25Z","isPatch":true,"sender":{"key":"john@keeping.me.uk","avatar":"https://avatars.githubusercontent.com/u/1702081?v=4"},"body":"Since commit d96855f (merge-base: teach \"--fork-point\" mode, 2013-10-23)\nwe can replace a shell loop in git-pull with a single call to\ngit-merge-base.  So let's do so.\n\nSigned-off-by: John Keeping <john@keeping.me.uk>\n---\n git-pull.sh | 10 +---------\n 1 file changed, 1 insertion(+), 9 deletions(-)\n\ndiff --git a/git-pull.sh b/git-pull.sh\nindex b946fd9..605e957 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -229,15 +229,7 @@ test true = \"$rebase\" && {\n \ttest -n \"$curr_branch\" &&\n \t. git-parse-remote &&\n \tremoteref=\"$(get_remote_merge_branch \"$@\" 2>/dev/null)\" &&\n-\toldremoteref=\"$(git rev-parse -q --verify \"$remoteref\")\" &&\n-\tfor reflog in $(git rev-list -g $remoteref 2>/dev/null)\n-\tdo\n-\t\tif test \"$reflog\" = \"$(git merge-base $reflog $curr_branch)\"\n-\t\tthen\n-\t\t\toldremoteref=\"$reflog\"\n-\t\t\tbreak\n-\t\tfi\n-\tdone\n+\toldremoteref=$(git merge-base --fork-point \"$remoteref\" $curr_branch)\n }\n orig_head=$(git rev-parse -q --verify HEAD)\n git fetch $verbosity $progress $dry_run $recurse_submodules --update-head-ok \"$@\" || exit 1\n-- \n1.8.5.226.g0d60d77\n"},{"id":"231844","messageId":"20131210015851.GA2311@google.com","threadId":"35500","inReplyTo":"b208a2edcaf47bf1a97ec19718854dc1b3646828.1386506845.git.john@keeping.me.uk","subject":"Re: [PATCH] pull: use merge-base --fork-point when appropriate","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2013-12-10T01:58:51Z","receivedAt":"2013-12-10T01:58:51Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"John Keeping wrote:\n\n> Since commit d96855f (merge-base: teach \"--fork-point\" mode, 2013-10-23)\n> we can replace a shell loop in git-pull with a single call to\n> git-merge-base.  So let's do so.\n>\n> Signed-off-by: John Keeping <john@keeping.me.uk>\n> ---\n>  git-pull.sh | 10 +---------\n>  1 file changed, 1 insertion(+), 9 deletions(-)\n\nYay!  Looks good.\n"}]}