git doesn't distinguish between binary and text files - so force the client to do the same by sending everything as a binary. Signed-off-by: Andy Parkins <andyparkins@xxxxxxxxx> --- DON'T APPLY TO REPOSITORY Turns out the CVS protocol isn't as hard as I thought. http://soc.if.usp.br/doc/cvs/html-cvsclient/cvsclient_5.html#SEC6 Was all I needed. I've changed every entries line to send "-kb" as one of options. I believe this will make all files into binaries as far as CVS clients are concerned. I am certain this is too heavy handed for most users. I submit this patch only to help other poor souls who might have the same problem in the future. (Hello poor soul). Perhaps when the whole .gitattributes system has settled down that could be used to conditionally set -kb git-cvsserver.perl | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/git-cvsserver.perl b/git-cvsserver.perl index f6ddf34..e8d74ae 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -374,7 +374,7 @@ sub req_add print "Checked-in $dirpart\n"; print "$filename\n"; - print "/$filepart/0///\n"; + print "/$filepart/0//-kb/\n"; $addcount++; } @@ -455,7 +455,7 @@ sub req_remove print "Checked-in $dirpart\n"; print "$filename\n"; - print "/$filepart/-1.$wrev///\n"; + print "/$filepart/-1.$wrev//-kb/\n"; $rmcount++; } @@ -726,7 +726,7 @@ sub req_co print $state->{CVSROOT} . "/$module/" . ( defined ( $git->{dir} ) and $git->{dir} ne "./" ? $git->{dir} . "/" : "" ) . "$git->{name}\n"; # this is an "entries" line - print "/$git->{name}/1.$git->{revision}///\n"; + print "/$git->{name}/1.$git->{revision}//-kb/\n"; # permissions print "u=$git->{mode},g=$git->{mode},o=$git->{mode}\n"; @@ -917,8 +917,8 @@ sub req_update print $state->{CVSROOT} . "/$state->{module}/$filename\n"; # this is an "entries" line - $log->debug("/$filepart/1.$meta->{revision}///"); - print "/$filepart/1.$meta->{revision}///\n"; + $log->debug("/$filepart/1.$meta->{revision}//-kb/"); + print "/$filepart/1.$meta->{revision}//-kb/\n"; # permissions $log->debug("SEND : u=$meta->{mode},g=$meta->{mode},o=$meta->{mode}"); @@ -961,8 +961,8 @@ sub req_update print "Update-existing $dirpart\n"; $log->debug($state->{CVSROOT} . "/$state->{module}/$filename"); print $state->{CVSROOT} . "/$state->{module}/$filename\n"; - $log->debug("/$filepart/1.$meta->{revision}///"); - print "/$filepart/1.$meta->{revision}///\n"; + $log->debug("/$filepart/1.$meta->{revision}//-kb/"); + print "/$filepart/1.$meta->{revision}//-kb/\n"; } } elsif ( $return == 1 ) @@ -975,7 +975,7 @@ sub req_update { print "Update-existing $dirpart\n"; print $state->{CVSROOT} . "/$state->{module}/$filename\n"; - print "/$filepart/1.$meta->{revision}/+//\n"; + print "/$filepart/1.$meta->{revision}/+/-kb/\n"; } } else @@ -1207,7 +1207,7 @@ sub req_ci } else { print "Checked-in $dirpart\n"; print "$filename\n"; - print "/$filepart/1.$meta->{revision}///\n"; + print "/$filepart/1.$meta->{revision}//-kb/\n"; } } -- 1.5.0.1.51.g5a369 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html