From: Lars Noschinski Date: Thu, 17 Jul 2008 10:01:16 GMT Subject: [PATCH] cvsserver: Add cvs co -c support Message-ID: <1216288877-12140-5-git-send-email-lars@public.noschinski.de> In-Reply-To: <1216288877-12140-4-git-send-email-lars@public.noschinski.de> Implement cvs checkout's -c option by returning a list of all "modules". This is more useful than displaying a perl warning if -c is given. Signed-off-by: Lars Noschinski --- git-cvsserver.perl | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/git-cvsserver.perl b/git-cvsserver.perl index 0e4f5f9..afd9789 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -801,6 +801,19 @@ sub req_co argsplit("co"); + # Provide list of modules, if -c was used. + if (exists $state->{opt}{c}) { + my $showref = `git show-ref --heads`; + for my $line (split '\n', $showref) { + if ( $line =~ m% refs/heads/(.*)$% ) { + print "M $1\t$1\n"; + } + } + closedir HEADS; + print "ok\n"; + return 1; + } + my $module = $state->{args}[0]; $state->{module} = $module; my $checkout_path = $module; -- 1.5.6.2