Re: [PATCH 1/2] Fixes _is_git
- From
Rémi Rampin <remirampin@gmail.com>
- Date
- Feb 3, 2015, 15:52 UTC
- Message-ID
- <54D0EEB9.1090803@gmail.com>
- In-Reply-To
- <CAFOYHZBHoXC34gBu_Lx347f=-uUcVM1nHYT87SzxfeMa=KdFgw@mail.gmail.com>
2015-02-02 12:24 UTC-05:00, Remi Rampin <remirampin@gmail.com>:
Show 6 quoted lines
>> proc _is_git {path} {
>> + if {[file isfile $path]} {
>> + set fp [open $path r]
>> + gets $fp line
>> + close $fp
>> + if {[regexp "^gitdir: (.+)$" $line line link_target]} {2015-02-03 3:44 UTC-05:00, Chris Packham <judge.packham@gmail.com>:
> It might be simpler to use one of the 'string' commands e.g. string > wordend "gitdir: " I also suspect the string functions would be faster > than regexp but that probably doesn't matter.
I want to check that the file actually begins with "gitdir: " and then extract the path, so I'm not sure if using string functions is that simple/fast.
>> + return [_is_git [file join [file dirname $path] $link_target]]
> Do we want to avoid pathological cases of infinite recursion? Someone > would have to maliciously create such a situation.
Limiting the recursion is very simple, but I'm not sure people are supposed to stumble on that. More importantly this probably calls for a different error message, thus a new error result that I am not ready to implement. But it could be another patch. But I suppose I can add a simple "return 0" limit to the recursion if needed, let me know.