Re: [PATCH] t4202 (log): add test for --follow over a merge
Hi, Ramkumar Ramachandra wrote: > 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. I can't claim to have followed the discussion, but I don't understand the above. If the file's name hasn't changed, the most one can hope for is that --follow doesn't hurt, no? [...] > + 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 t/README explains: | As with any programming projects, existing programs are the best | source of the information. However, do _not_ emulate | t-basic.sh when writing your tests. The test is special in | that it tries to validate the very core of GIT. [...] | other tests that simply rely on basic parts of the core | GIT working properly should not have that level of intimate | knowledge of the core GIT internals. If all the test scripts | hardcoded the object IDs like t-basic.sh does, that defeats | the purpose of t-basic.sh, which is to isolate that level of | validation in one place. Hard-coding object names makes it painful to tweak a given test and tests that come before it, lest a timestamp or the phase of moon change and cause the object names to drift. Don't do it, except in t. Hope that helps, Jonathan -- 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
[PATCH] t4202 (log): add test for --follow over a merge
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 --- 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