git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 3/3] git-merge-one-file: revise merge error reporting

From
Kevin Bracey <kevin@bracey.fi>
Date
Mar 13, 2013, 01:12 UTC
Message-ID
<1363137142-18606-3-git-send-email-kevin@bracey.fi>
In-Reply-To
<1363137142-18606-1-git-send-email-kevin@bracey.fi>

Commit 718135e improved the merge error reporting for the resolve strategy's merge conflict and permission conflict cases, but led to a malformed "ERROR: in myfile.c" message in the case of a file added differently.

This commit reverts that change, and uses an alternative approach without this flaw.

Signed-off-by: Kevin Bracey <kevin@bracey.fi>
---
 git-merge-one-file.sh | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)
diff --git a/git-merge-one-file.sh b/git-merge-one-file.sh
index 0f164e5..78b07a8 100755
--- a/git-merge-one-file.sh
+++ b/git-merge-one-file.sh
@@ -104,11 +104,13 @@ case "${1:-.}${2:-.}${3:-.}" in
 		;;
 	esac
 
+	ret=0
 	src1=$(git-unpack-file $2)
 	src2=$(git-unpack-file $3)
 	case "$1" in
 	'')
-		echo "Added $4 in both, but differently."
+		echo "ERROR: Added $4 in both, but differently."
+		ret=1
 		orig=$(git-unpack-file $2)
 		create_virtual_base "$orig" "$src2"
 		;;
@@ -121,10 +123,9 @@ case "${1:-.}${2:-.}${3:-.}" in
 	# Be careful for funny filename such as "-L" in "$4", which
 	# would confuse "merge" greatly.
 	git merge-file "$src1" "$orig" "$src2"
-	ret=$?
-	msg=
-	if [ $ret -ne 0 ]; then
-		msg='content conflict'
+	if [ $? -ne 0 ]; then
+		echo "ERROR: Content conflict in $4"
+		ret=1
 	fi
 
 	# Create the working tree file, using "our tree" version from the
@@ -133,18 +134,11 @@ case "${1:-.}${2:-.}${3:-.}" in
 	rm -f -- "$orig" "$src1" "$src2"
 
 	if [ "$6" != "$7" ]; then
-		if [ -n "$msg" ]; then
-			msg="$msg, "
-		fi
-		msg="${msg}permissions conflict: $5->$6,$7"
-		ret=1
-	fi
-	if [ "$1" = '' ]; then
+		echo "ERROR: Permissions conflict: $5->$6,$7"
 		ret=1
 	fi
 
 	if [ $ret -ne 0 ]; then
-		echo "ERROR: $msg in $4"
 		exit 1
 	fi
 	exec git update-index -- "$4"
-- 
1.8.2.rc3.7.g1100d09.dirty
Previous: Kevin BraceyNext: David Aguilar
Message 22 of 40 in “Improve P4Merge mergetool invocation”
  1. 0/2 Improve P4Merge mergetool invocationKevin Bracey, Mar 6, 2013
  2. 1/2 p4merge: swap LOCAL and REMOTE for mergetoolKevin Bracey, Mar 6, 2013
  3. Junio C HamanoMar 7, 2013
  4. Kevin BraceyMar 7, 2013
  5. Junio C HamanoMar 7, 2013
  6. Kevin BraceyMar 7, 2013
  7. Junio C HamanoMar 7, 2013
  8. David AguilarMar 7, 2013
  9. Junio C HamanoMar 7, 2013
  10. 2/2 p4merge: create a virtual base if none availableKevin Bracey, Mar 6, 2013
  11. David AguilarMar 7, 2013
  12. Kevin BraceyMar 7, 2013
  13. Junio C HamanoMar 7, 2013
  14. David AguilarMar 7, 2013
  15. 0/3 Improve P4Merge mergetool invocationKevin Bracey, Mar 9, 2013
  16. 1/3 mergetools/p4merge: swap LOCAL and REMOTEKevin Bracey, Mar 9, 2013
  17. 2/3 mergetools/p4merge: create a base if none availableKevin Bracey, Mar 9, 2013
  18. Junio C HamanoMar 10, 2013
  19. 3/3 git-merge-one-file: revise merge error reportingKevin Bracey, Mar 9, 2013
  20. 1/3 mergetools/p4merge: swap LOCAL and REMOTEKevin Bracey, Mar 13, 2013
  21. 2/3 mergetools/p4merge: create a base if none availableKevin Bracey, Mar 13, 2013
  22. 3/3 git-merge-one-file: revise merge error reportingKevin Bracey, Mar 13, 2013
  23. David AguilarMar 13, 2013
  24. 0/3 git-merge-one-file error reportingKevin Bracey, Mar 24, 2013
  25. 1/3 git-merge-one-file: style cleanupKevin Bracey, Mar 24, 2013
  26. 2/3 git-merge-one-file: send "ERROR:" messages to stderrKevin Bracey, Mar 24, 2013
  27. 3/3 git-merge-one-file: revise merge error reportingKevin Bracey, Mar 24, 2013
  28. Junio C HamanoMar 25, 2013
  29. Junio C HamanoMar 25, 2013
  30. Junio C HamanoMar 25, 2013
  31. Eric SunshineMar 25, 2013
  32. Junio C HamanoMar 13, 2013
  33. Kevin BraceyMar 14, 2013
  34. Junio C HamanoMar 14, 2013
  35. Kevin BraceyMar 14, 2013
  36. Kevin BraceyMar 14, 2013
  37. David AguilarMar 13, 2013
  38. 1/2 mergetools/p4merge: swap LOCAL and REMOTEKevin Bracey, Mar 24, 2013
  39. 2/2 mergetools/p4merge: create a base if none availableKevin Bracey, Mar 24, 2013
  40. Junio C HamanoMar 25, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.