Re: [PATCH] New files in git weren't being downloaded during CVS update

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andy Parkins <andyparkins@xxxxxxxxx> writes:

> If a repository was checked out via git-cvsserver and then later a new
> file is added to the git repository via some other method; a CVS update
> wasn't fetching the new file.
>
> It would be reported as a new file as
>  A some/dir/newfile.c
> but would never appear in the directory.
>
> The problem (I think) is that when git-cvsserver detected a new file, it
> was issuing the new file message then skipping the actual file send part
> and moving to the next file its list.  In fact only an updated file
> would be transmitted.
>
> The fix is to make the added file section identical to the udpated file
> section.  This additionally makes git-cvsserver behave like a
> traditional CVS server and will now output
>  U some/dir/newfile.c
> for an added file.
>
> Signed-off-by: Andy Parkins <andyparkins@xxxxxxxxx>
> ---
> This is in response to Simon Schubert's suggestion that T_ADDED is an
> inappropriate category for a remotely added file.  Instead this treats
> remotely added files the same as remotely changed files.

Martin, I think this looks like a sane change.  

I do not have anything other than the real CVS running on a
Linux box to try this change (most notably I do not do Eclipse
nor Tortoise) myself and I am reluctant to touch things I cannot
personally test at this stage near the release.  I am sure Andy
tested this for his own use in his environment, but I would
really appreciate a third party Ack from an environment
different from the originator of the patch.

>  git-cvsserver.perl |   10 +++++-----
>  1 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/git-cvsserver.perl b/git-cvsserver.perl
> index a33a876..501c182 100755
> --- a/git-cvsserver.perl
> +++ b/git-cvsserver.perl
> @@ -879,11 +879,11 @@ sub req_update
>  	    elsif ( !defined($wrev) || $wrev == 0 )
>  	    {
>  	        $log->info("Tell the client the file will be added");
> -		print "MT text A \n";
> -                print "MT fname $filename\n";
> -                print "MT newline\n";
> -		next;
> -
> +			print "MT +updated\n";
> +			print "MT text U \n";
> +			print "MT fname $filename\n";
> +			print "MT newline\n";
> +			print "MT -updated\n";
>  	    }
>  	    else {
>                  $log->info("Updating '$filename' $wrev");
> -- 
> 1.5.0.rc1.gf4b6c

-
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]