diff options
author | Lars Noschinski <lars@public.noschinski.de> | 2008-07-17 19:00:29 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-07-19 11:17:43 -0700 |
commit | 89a9167fac209649116a6e1b7a39b4f4c974f86b (patch) | |
tree | cafa3a557a57fd3d486a6289aae1488549f87e99 /git-cvsserver.perl | |
parent | b20171ebf7df3c31cce5cde3efaaf257b4ac2447 (diff) | |
download | git-89a9167fac209649116a6e1b7a39b4f4c974f86b.tar.gz |
cvsserver: Add cvs co -c support
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 <lars@public.noschinski.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-cvsserver.perl')
-rwxr-xr-x | git-cvsserver.perl | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/git-cvsserver.perl b/git-cvsserver.perl index 23b8ed398f..b0a805c688 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -801,6 +801,18 @@ 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"; + } + } + print "ok\n"; + return 1; + } + my $module = $state->{args}[0]; $state->{module} = $module; my $checkout_path = $module; |