rsync problems from flist.c change

Kurt Hornik Kurt.Hornik at wu-wien.ac.at
Thu Apr 22 11:06:58 GMT 2004


>>>>> Wayne Davison writes:

> On Thu, Apr 22, 2004 at 08:21:24AM +0200, Kurt Hornik wrote:
>> I can partially reproduce this by (starting from a state where the two
>> dirs are in sync) copying an additional file into 'Recommended' and
>> trying different versions of rsync to see whether the file gets
>> removed.

> Does the file you added match one of the excluded files (including any
> default cvs-exclude patterns and patterns read from $HOME/.cvsignore
> or taken from the $CVSIGNORE environment variable, but ignoring the
> individual .cvsignore files, which you are excluding)?  You can add an
> extra level of -v to see all the files that are being excluded from
> both created lists (the sender's list and the receiver's
> deletion-comparison list).

> If you don't see the additional file you created being excluded, you
> can add yet another -v level to see all the make_file() calls.  You
> should see the extra file on the receiving side either mentioned in a
> make_file() call or in an "excluding" message.  If the file goes into
> the receiving side's list, is not present in the sending-side's list,
> and the file is not deleted, then there's some kind of a bug.

> Let me know what you find out.

Thanks for the prompt reply.  Using -vv gives

hornik at mithrandir:~/tmp/Recommended$ rsync -rcIzC -vv --delete     --exclude=Mak
efile.in --exclude=Makefile --exclude=.cvsignore     --include=*.tar.gz --exclud
e=*.tgz /usr/local/src/apps/stat/R/src/contrib/2.0.0/Recommended/ .
building file list ... 
expand file_list to 4000 bytes, did move
including file KernSmooth_2.22-13.tar.gz because of pattern *.tar.gz
including file VR_7.2-1.tar.gz because of pattern *.tar.gz
including file boot_1.2-17.tar.gz because of pattern *.tar.gz
including file cluster_1.9.1.tar.gz because of pattern *.tar.gz
including file foreign_0.6-6.tar.gz because of pattern *.tar.gz
including file lattice_0.9-10.tar.gz because of pattern *.tar.gz
including file mgcv_1.0-5.tar.gz because of pattern *.tar.gz
including file nlme_3.1-48.tar.gz because of pattern *.tar.gz
including file rpart_3.1-15.tar.gz because of pattern *.tar.gz
including file survival_2.11-4.tar.gz because of pattern *.tar.gz
done
expand file_list to 4000 bytes, did move
excluding directory CVS because of pattern CVS/
including file VR_7.2-1.tar.gz because of pattern *.tar.gz
excluding file VR_7.2-1.tar.gz because of pattern *.tar.gz
excluding file .cvsignore because of pattern .cvsignore
excluding file Makefile.in because of pattern Makefile.in
excluding file survival.tgz because of pattern *.tgz
excluding file boot.tgz because of pattern *.tgz
including file KernSmooth_2.22-13.tar.gz because of pattern *.tar.gz
excluding file KernSmooth_2.22-13.tar.gz because of pattern *.tar.gz
excluding file cluster.tgz because of pattern *.tgz
including file cluster_1.9.1.tar.gz because of pattern *.tar.gz
excluding file cluster_1.9.1.tar.gz because of pattern *.tar.gz
including file foreign_0.6-6.tar.gz because of pattern *.tar.gz
excluding file foreign_0.6-6.tar.gz because of pattern *.tar.gz
including file lattice_0.9-10.tar.gz because of pattern *.tar.gz
excluding file lattice_0.9-10.tar.gz because of pattern *.tar.gz
including file mgcv_1.0-5.tar.gz because of pattern *.tar.gz
excluding file mgcv_1.0-5.tar.gz because of pattern *.tar.gz
including file nlme_3.1-48.tar.gz because of pattern *.tar.gz
excluding file nlme_3.1-48.tar.gz because of pattern *.tar.gz
including file rpart_3.1-15.tar.gz because of pattern *.tar.gz
excluding file rpart_3.1-15.tar.gz because of pattern *.tar.gz
including file survival_2.11-4.tar.gz because of pattern *.tar.gz
excluding file survival_2.11-4.tar.gz because of pattern *.tar.gz
excluding file foreign.tgz because of pattern *.tgz
excluding file KernSmooth.tgz because of pattern *.tgz
excluding file lattice.tgz because of pattern *.tgz
excluding file nlme.tgz because of pattern *.tgz
excluding file mgcv.tgz because of pattern *.tgz
excluding file rpart.tgz because of pattern *.tgz
excluding file VR.tgz because of pattern *.tgz
including file boot_1.2-17.tar.gz because of pattern *.tar.gz
excluding file boot_1.2-17.tar.gz because of pattern *.tar.gz
including file boot_1.2-16.tar.gz because of pattern *.tar.gz
excluding file boot_1.2-16.tar.gz because of pattern *.tar.gz

which seems to show the issue: file .cvsignore has

*.tar.gz
*.ts

causing the *.tar.gz files to be excluded, and explictly including them
via 

  --include=*.tar.gz

is overridden by the excludes.

Is there a way of overriding the excludes from .cvsignore?  (I tried
setting the environment variable CVSIGNORE to null or /dev/null but that
does not do the trick ...)

Thanks
-k


More information about the rsync mailing list