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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>>          const char *filename = argv[0];
>> -        FILE *f = to_stdout ? stdout : fopen(filename, "wb");
>> +        const char *fpath = prefix_filename(prefix, prefixlen, argv[0]);
>> +        FILE *f = to_stdout ? stdout : fopen(fpath, "wb");
>>
>>          if (!f)
>>              ret = error("Could not open %s for writing", filename);
>> diff --git a/t/t6023-merge-file.sh b/t/t6023-merge-file.sh
>> index 3758961..fdd104c 100755
>> --- a/t/t6023-merge-file.sh
>> +++ b/t/t6023-merge-file.sh
>> @@ -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. If you add a directory before the file, trying to
open it will fail. I will additionally check of the file's content to make
the test more clear, however it does actually fail with git 2.3.0.

The issue with line-wrapping and tab changing to space is my own
stupidity, I used an older config with my vim and it mangled the file.
It also probably is what caused the patch to not apply properly.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]