Re: gitweb chokes on recursive symlink
Junio C Hamano wrote:
[cut explanation about why one would want something like below]
> ln -s /pub /pub/pub
Show 24 quoted lines
> However, gitweb chokes if there is such a symlink (File::Find
> barfs with "/pub/pub is a recursive symbolic link" --- I think
> this is because you use "follow_fast => 1").
>
> As I happen to think using a symlink that goes up for backward
> compatible URL support is a rather common practice, I think we
> should do something about it. My gut feeling is that we could
> simply ignore such symlinks.
>
> What do you think about this issue?
>
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index b381692..c8ad84e 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -1492,6 +1492,7 @@ sub git_get_projects_list {
>
> File::Find::find({
> follow_fast => 1, # follow symbolic links
> + follow_skip => 2, # ignore duplicates
> dangling_symlinks => 0, # ignore dangling symlinks, silently
> wanted => sub {
> # skip project-list toplevel, if we get it.
> I guess that is a good solution, but I'm not Perl expert...
--
Jakub Narebski
Poland