usr
/
share
/
doc
/
rsync-3.1.2
/
support
➕ New
📤 Upload
✎ Editing:
cvs2includes
← Back
#!/usr/bin/perl # # This script finds all CVS/Entries files in the current directory and below # and creates a local .cvsinclude file with non-inherited rules including each # checked-in file. Then, use this option whenever using --cvs-exclude (-C): # # -f ': .cvsinclude' # # That ensures that all checked-in files/dirs are included in the transfer. # (You could alternately put ": .cvsinclude" into an .rsync-filter file and # use the -F option, which is easier to type.) # # The downside is that you need to remember to re-run cvs2includes whenever # you add a new file to the project. use strict; open(FIND, 'find . -name CVS -type d |') or die $!; while (<FIND>) { chomp; s#^\./##; my $entries = "$_/Entries"; s/CVS$/.cvsinclude/; my $filter = $_; open(ENTRIES, $entries) or die "Unable to open $entries: $!\n"; my @includes; while (<ENTRIES>) { push(@includes, $1) if m#/(.+?)/#; } close ENTRIES; if (@includes) { open(FILTER, ">$filter") or die "Unable to write $filter: $!\n"; print FILTER map "+ /$_\n", @includes; close FILTER; print "Updated $filter\n"; } elsif (-f $filter) { unlink($filter); print "Removed $filter\n"; } } close FIND;
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel