Opened 7 years ago

Last modified 7 years ago

#757 new defect

rsync ignores .rsync.rules files in the Cactus ROOT directory

Reported by: Roland Haas Owned by: Erik Schnetter
Priority: minor Milestone:
Component: SimFactory Version:
Keywords: Cc:


It seems that rsync, since simfactory never uses the Cactus root directory as a source, does not merge any .rsync.rules files in the root directory into filter.rules. .rysnc.rules files work fine in the sub-directories, eg. bin/ lib/ etc. Since I would like to have global .rsync.rules valid for all subdirectories, a workaround is to replicate the file .rsync.rules in all (top-level) subfolders via symbolic links.

Attachments (0)

Change History (4)

comment:1 Changed 7 years ago by Ian Hinder

I recently added the ability to use simfactory/etc/filter.local.rules as a global rules file.

comment:2 Changed 7 years ago by Roland Haas

filter.local.rules is precisely what I was looking for, thank you. I wonder if it might be a good idea to (before the next release) rename simfactory/etc/filter.local.rules to $ROOT/.rsync.rules to use the same name as the per-directory merges in simfactory/etc/filter.rules. This would make .rsync.rules files work in the full tree rather than just the subdirectories and files listed in simfactory/etc/defs.ini/sync-sources.

comment:3 Changed 7 years ago by Ian Hinder

I don't really see the point of .rsync.rules files throughout the Cactus tree. Are these committed to the repositories of the respective thorns? Isn't the decision about what to sync something that is made by the individual user about their use of their particular Cactus tree with SimFactory, and hence should be kept along with the other SimFactory configuration files? Where do you use these .rsync.rules files? What happens when you change Cactus tree? Do you collect them all up and copy them to another tree? I think having these rules in a single place makes much more sense.

comment:4 Changed 7 years ago by Roland Haas

As far as I can tell they would not be part of thorns. They come about because filter.rules contains a like ": .rsync.rules" which apparently means that rsync will merge in such a file in any directory is syncs (section PER-DIRECTORY FILTERS in rsync's manual, similar to what the -F option does). I believe (but the author of filter.rules would have to confirm) that these files are intended to serve the same purpose as filter.local.rules ie. to give the user the option to modify rsync's filter rules without having to modify version controlled files. I believe that rsync looks for such files in any directory it encounters. I fully agree that (at least having the option of) having all rules in a single file is desirable. Per directory files can be convenient if one eg. wants to exclude only tests in a certain thorn (eg. because it contains large hdf5 data files) since these per-directory rules are automatically anchored in the containing directory. I don't really have a strong preference for one or the other and really only wanted to point out that right now there are two similar but not identical ways to have "local" filter rules.

Last edited 7 years ago by Roland Haas (previous) (diff)

Modify Ticket

Change Properties
Set your email in Preferences
as new The owner will remain Erik Schnetter.
Next status will be 'review'.
as The resolution will be set.
to The owner will be changed from Erik Schnetter to the specified user.
Next status will be 'confirmed'.
The owner will be changed from Erik Schnetter to anonymous.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.