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