The --follow feature can be used to follow the history of a file over
a merge commit, and is useful even when the file hasn't been
copied/renamed.  Add a test to show off this feature.

Signed-off-by: Ramkumar Ramachandra <artag...@gmail.com>
---
 I haven't updated the documentation, because I can't claim to
 understand --follow fully without reading the code (doing that now).
 In the meantime, I'm contributing a patch I wrote out originally as
 an example for Thomas Rast to prove a point.

 Where should this go?  What is t4206-log-follow-harder-copies (it
 just has one test which isn't even that special)?  Should we move all
 the --follow tests out of this file and put it in a separate file?

 t/t4202-log.sh | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/t/t4202-log.sh b/t/t4202-log.sh
index 523c1be..5b041fd 100755
--- a/t/t4202-log.sh
+++ b/t/t4202-log.sh
@@ -168,6 +168,35 @@ test_expect_success 'git log --follow' '
 
 '
 
+test_expect_success '--follow over merge' '
+       git checkout -b featurebranch
+       echo foodle >>ichi &&
+       git add ichi &&
+       test_tick &&
+       git commit -m "add a line to the end of ichi" &&
+       echo moodle >unrelated &&
+       git add unrelated &&
+       test_tick &&
+       git commit -m quux &&
+       git checkout master &&
+       mv ichi ichi.bak &&
+       echo gooble >ichi &&
+       cat ichi.bak >>ichi &&
+       git add ichi &&
+       test_tick &&
+       git commit -m "add a line to the beginning of ichi" &&
+       git merge featurebranch &&
+       git log --follow --oneline ichi >actual &&
+       cat >expect <<-\EOF &&
+       df26551 add a line to the beginning of ichi
+       882d8d9 add a line to the end of ichi
+       2fbe8c0 third
+       f7dab8e second
+       3a2fdcb initial
+       EOF
+       test_cmp expect actual
+'
+
 test_expect_failure 'log pathspec in tree read into prefix' '
        git checkout --orphan subtree &&
        git rm -rf . &&
-- 
1.8.2.1.546.gea3475a

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to