summaryrefslogtreecommitdiff
path: root/git-cvsserver.perl
diff options
context:
space:
mode:
authorDamien Diederen <dash@foobox.net>2008-03-27 23:17:53 +0100
committerJunio C Hamano <gitster@pobox.com>2008-03-27 16:05:27 -0700
commit852b921c78ca33606600d7fd45e573a8435dbcb8 (patch)
tree3e3d630470607bef2260b5d5139cd70811044a21 /git-cvsserver.perl
parent23b7180fdcd46556038241cd0388eca092fc55e1 (diff)
downloadgit-852b921c78ca33606600d7fd45e573a8435dbcb8.tar.gz
cvsserver: Do not include status output for subdirectories if -l is passed
This effectively implements the -l switch by pruning the entries whose filenames contain a path separator. It was previously ignored. Without this, TkCVS includes strange "ghost" entries in its directory listings. Signed-off-by: Damien Diederen <dash@foobox.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-cvsserver.perl')
-rwxr-xr-xgit-cvsserver.perl2
1 files changed, 2 insertions, 0 deletions
diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index 444ec0db79..89a4dac291 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -1428,6 +1428,8 @@ sub req_status
{
$filename = filecleanup($filename);
+ next if exists($state->{opt}{l}) && index($filename, '/', length($state->{prependdir})) >= 0;
+
my $meta = $updater->getmeta($filename);
my $oldmeta = $meta;