diff --git a/dim b/dim
index cecd80eb71611180f2e14191cf3b2e619ae08e02..6b684ba5308c608cdee7d7edbe2de5978aa816d8 100755
--- a/dim
+++ b/dim
@@ -519,6 +519,15 @@ function rr_cache_dir
 	fi
 }
 
+function git_dir
+{
+	if [ -d $PWD/.git ] ; then
+		echo $PWD/.git
+	else
+		cut -d ' ' -f 2 < $PWD/.git
+	fi
+}
+
 function pull_rerere_cache
 {
 	cd $DIM_PREFIX/drm-rerere/
@@ -905,7 +914,7 @@ function dim_apply_branch
 
 function dim_apply_pull
 {
-	local branch file message_id pull_branch rv
+	local branch file message_id pull_branch rv merge_msg_file
 
 	branch=${1:?$usage}
 	file=$(mktemp)
@@ -935,6 +944,12 @@ function dim_apply_pull
 	if ! $DRY git pull $pull_branch ; then
 		if ! check_conflicts "$pull_branch" ; then
 			echoerr "Please resolve and then commit normally using git"
+
+			merge_msg_file="$(git_dir)/MERGE_MSG"
+			if [ -n "$message_id" ]; then
+				echo "Link: https://patchwork.freedesktop.org/patch/msgid/$message_id" >> $merge_msg_file
+			fi
+
 			return 1
 		else
 			git add -u