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

Re: [PATCH v2] merge-file: correctly open files when in a subdir

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 11, 2015, 18:21 UTC
Message-ID
<xmqqd25gux4r.fsf@gitster.dls.corp.google.com>
In-Reply-To
<CAPHKiG6M9_fOjpx8Pt8UTpUcrS+tmqL3YcT11WyJJu8m6nkJ4A@mail.gmail.com>

Aleksander Boruch-Gruszecki <aleksander.boruchgruszecki@gmail.com> writes:

Show 16 quoted lines
>>> @@ -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
>>>      ( 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.

Previous: Aleksander Boruch-GruszeckiNext: Junio C Hamano
Message 4 of 6 in “merge-file: correctly open files when in a subdir”
  1. merge-file: correctly open files when in a subdirAleksander Boruch-Gruszecki, Feb 10, 2015
  2. Junio C HamanoFeb 10, 2015
  3. Aleksander Boruch-GruszeckiFeb 11, 2015
  4. Junio C HamanoFeb 11, 2015
  5. Junio C HamanoFeb 11, 2015
  6. Aleksander Boruch-GruszeckiFeb 11, 2015

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.