Help with CVS related include pattern
wayned at users.sourceforge.net
Thu Jan 9 19:23:08 EST 2003
On Thu, Jan 09, 2003 at 12:30:30PM -0500, David Eisner wrote:
> I thought this might work:
> rsync -av --include '*/' --include 'CVS/*' --exclude '*' src src_cvs
If things were working correctly, yes, that would indeed work. The
problem is that the 'CVS/*' item has an interior slash, and rsync
currently interprets this as being anchored (i.e. as '/CVS/*').
Use this command to work around the problem:
rsync -av --include '*/' --include '**/CVS/*' --exclude '*' src src_cvs
This should work in your case even though (a) "**/..." doesn't match in
the root of the transfer (which won't affect you unless you change the
"src" to "src/"), and (b) the trailing "*" gets treated like "**" (which
should have no ill effects when transferring CVS dirs since they don't
tend to have subdirs).
A previous patch of mine that replaces the matching code with something
that properly interprets "**" and "*" in the same item and also properly
floats an unanchored match term with an interior slash would have worked
as expected with your original command. I hope to get this fix into
rsync eventually, but we've been in a "let's release soon" mode for
quite a while, and I haven't wanted to commit such a big change in the
current release cycle.
More information about the rsync