nguyenhu@xxxxxxxxxxxxxxx writes:
>>> --- a/dir.c
>>> +++ b/dir.c
>>> @@ -1234,13 +1234,17 @@ int remove_dir_recursively(struct strbuf
>>> *path, int flag)
>>> void setup_standard_excludes(struct dir_struct *dir)
>>> {
>>> const char *path;
>>> + char *xdg_path;
>>>
>>> dir->exclude_per_dir = ".gitignore";
>>> path = git_path("info/exclude");
>>> + home_config_paths(NULL, &xdg_path, "ignore");
>>> if (!access(path, R_OK))
>>> add_excludes_from_file(dir, path);
>>> if (excludes_file && !access(excludes_file, R_OK))
>>> add_excludes_from_file(dir, excludes_file);
>>> + else if (!access(xdg_path, R_OK))
>>> + add_excludes_from_file(dir, xdg_path);
>>> }
>> Same remark here. Look at the patch I sent earlier to give a default
>> value:
>>
>> http://thread.gmane.org/gmane.comp.version-control.git/133343/focus=133415
>>
>> For example, you version reads from XDG file if core.excludesfile is
>> set, but the file it points to doesn't exist. I don't think this is
>> expected.
>
> Actually, it's the opposite. Our version only read from XDG file if
> core.excludesfile is not set.
It's what you want to do, but not what I read from the code. Your "else
if" above is reachable if "excludes_file && !access(excludes_file, R_OK)"
is false, which includes the case when excludes_file is set but does not
exist.
Anyway, this just shows that the logic is too complex, we shouldn't need
this discussion with simple enough code.
> echo $HOME and echo "$HOME"
> both returns /.../t/trash directory.t1306-read-xdg-config-file
> but echo foo >$HOME writes in ../t/trash
> while echo foo >"$HOME" writes in t/trash directory.t1306-read-xdg-config-file
> so "$HOME" is needed for the tests to work.
In general, $HOME means "evaluate $HOME and do the whitespace splitting
after", and "$HOME" means "evaluate $HOME and don't do whitespace
splitting". Since "trash directory" contains a space, you need the
quoting.
There are places where quoting is not needed, though, and I think
redirect is part of them. But I wouldn't be surprised if the different
levels of quoting when ran in test-lib broke that.
My advice: always quote variables, unless you have a very good reason
not to do so.
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
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
[Newbies FAQ] [Linux Kernel Development] [Free Online Dating] [Gcc Help] [IETF Annouce] [DCCP] [Netdev] [Networking] [Security] [V4L] [Bugtraq] [Free Online Dating] [Photo] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux RAID] [Linux SCSI] [Fedora Users] [Linux Resources]