I encountered a mysterious error message while doing some cherry-picking into a dirty tree. In this case, the working tree was dirty with changes to two files that had been renamed, we'll call them 'file and 'otherfile'. The change I wanted to cherry-pick was made along a branch before the rename to 'file'. When I cherry-picked the change from the other branch without the rename to my current branch with the rename, the change applied cleanly and the dirty bits were committed but a mysterious error message was printed indicating something went wrong with the file that was still dirty after the cherry-pick.
error: addinfo_cache failed for path 'otherfile'
I suspect this error message shouldn't be printed, so recreate the problem in t3501 so that it can be fixed.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
t/t3501-revert-cherry-pick.sh | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/t/t3501-revert-cherry-pick.sh b/t/t3501-revert-cherry-pick.sh
index eef4d8c..522a9fd 100755
--- a/t/t3501-revert-cherry-pick.sh
+++ b/t/t3501-revert-cherry-pick.sh
@@ -137,4 +137,36 @@ test_expect_success 'cherry-pick on dirty rename should stay dirty' '
! git diff --quiet
'
+test_expect_success 'cherry-pick on dirty rename should not complain' '
+ git checkout initial &&
+
+ test_commit file1
+
+ for l in b c d e f g h i j k l m n o
+ do
+ echo $l$l$l$l$l$l$l$l$l
+ done >oops &&
+
+ test_tick &&
+ git add oops &&
+ git commit -m drop2 &&
+ git tag drop2 &&
+
+ git checkout file1 &&
+ test_tick &&
+ git mv oops spoo &&
+ git mv file1.t file2.t &&
+ git commit -m rename4 &&
+ git tag rename4 &&
+
+ echo file2 > file2.t &&
+ for l in b c d e f g h i j k m n o
+ do
+ echo $l$l$l$l$l$l$l$l$l
+ done >spoo &&
+
+ git cherry-pick drop2 2> errors &&
+ ! test -s errors
+'
+
test_done
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation