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

Bug? Files are losing history after subtree merge

From
Ralf Thielow <ralf.thielow@gmail.com>
Date
Oct 2, 2013, 19:20 UTC
Message-ID
<1380741617-14593-1-git-send-email-ralf.thielow@gmail.com>
Hi,

recently I did a merge where a complete repo shall be merged into a specific directory of another repo. I tried both the "subtree" merge strategy and the option "-Xsubtree=<dir>" of "recursive". I noticed that in both cases somehow the history of single files were lost during these merges (with history I mean 'git log <file>' and 'git log --follow <file>'). I've worked around this by merging without 'subtree' and moving the dirs/files manually. In this case the file history was there.

I've added a test case below for that behaviour. It doesn't catch "-S recursive -Xsubtree=<dir>" but it should show the issue (hopefully:).

Ralf
---
 t/t6029-merge-subtree.sh | 8 ++++++++
 1 file changed, 8 insertions(+)
diff --git a/t/t6029-merge-subtree.sh b/t/t6029-merge-subtree.sh
index 73fc240..e9a97d7 100755
--- a/t/t6029-merge-subtree.sh
+++ b/t/t6029-merge-subtree.sh
@@ -61,6 +61,14 @@ test_expect_success 'initial merge' '
 	test_cmp expected actual
 '
 
+test_expect_failure 'file keeps history after subtree merge' '
+	cd ../git-gui &&
+	git log --follow git-gui.sh >../git/expected &&
+	cd ../git &&
+	git log --follow git-gui/git-gui.sh >actual &&
+	test_cmp expected actual
+'
+
 test_expect_success 'merge update' '
 	cd ../git-gui &&
 	echo git-gui2 > git-gui.sh &&
-- 
1.8.4.652.g0d6e0ce
Next: Matthieu Moy
Message 1 of 5 in “Bug? Files are losing history after subtree merge”
  1. Ralf ThielowOct 2, 2013
  2. Matthieu MoyOct 2, 2013
  3. Ralf ThielowOct 2, 2013
  4. Matthieu MoyOct 2, 2013
  5. Ralf ThielowOct 2, 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.