Re: [PATCH v2] merge-file: correctly open files when in a subdir
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:03:47
Aleksander Boruch-Gruszecki [off-list ref] writes:
quoted
quoted
@@ -72,6 +72,12 @@ test_expect_success 'works in subdirectory' ' ( cd dir && git merge-file a.txt o.txt b.txt ) ' +mkdir -p dir/deep +cp new1.txt orig.txt new2.txt dir/deep +test_expect_success 'accounts for subdirectory when writing' ' + (cd dir && git merge-file deep/new1.txt deep/orig.txt deep/new2.txt) +'Interesting. Makes us wonder why the one before this new one you added did not catch the issue, doesn't it?The test before the one added by me does work because merge-file tries to open "a.txt" for writing in repo root directory, which will create a file if it does not exist.
Ahh, this existing test
quoted
quoted
( cd dir && git merge-file a.txt o.txt b.txt )
implicitly expects that dir/a.txt is written, but the broken implementation writes to a.txt (i.e. outside dir). But the test only checks the exit code from the command without making sure that dir/a.txt is written, it does not notice the breakage. Thanks, that makes sense and it also makes sense that checking the resulting content in dir/a.txt would make sense. Then we many not need to add a new dir/deep/* test---after all they are checking the same thing.