rsync historical information
Status:
dormant; 2005-2010 (supersedes any conflicting remarks left on this page;
see the home page for definitions)
In September 2005, I decided I wanted a version of rsync with three new features:
preserving executability, obeying default ACLs, and inheriting
directory setgid. I coded them myself, albeit somewhat messily since I was new to the project, and sent
my changes to the mailing list. When no one responded, I got impatient and on October 15, 2005 began to
release a modified version of rsync with my improvements right on this page.* The versions were named
rsync-2.6.6.matt.x for x from 1 to 7. Finally, beginning on January 19, 2006,
Wayne Davison, the maintainer, began to consider my changes. They
all went into the official rsync 2.6.7 in somewhat cleaned-up form.
Meanwhile, I learned more about rsync. I started helping people on
its mailing list and became involved
in development beyond the three initial features. In particular, I championed the cause of ACLs.
Wayne and I brought the ACL support from a hack that worked in the most common cases to a well-designed
feature that plays nicely with the rest of rsync. I continued to help with development and support until around March 2010.
History of ACL support
- 2.6.6:
Christophe Saout contributes the ACL patch
based on a previous version by Buck Huppman.
It provides an --acls option to preserve ACLs, but that's about all.
- 2.6.7: I teach ACL-patched rsync to observe default ACLs when receiving files without --perms.
- 2.6.8: I undertake a rewrite of the ACL patch, redesigning the data
structures and beginning to clean up the code. Wayne promptly finishes the rewrite.
Now rsync itemizes ACL changes properly and ACL differences correctly disqualify --link-dest files.
- 2.6.9: At my suggestion, Wayne made a further design improvement
and introduced a statx structure that keeps stat data plus ACLs. Now we can handle ACLs
along with stat attributes in many places instead of treating them separately (which was
getting annoying). Naturally, Wayne changed xattrs.diff so that it adds extended attributes to statx.
- 3.0.0 (under development): Wayne merged ACL support into the main version of rsync.
acls.diff consists of backward compatibility for previous ACL-patched versions of rsync rather than
the ACL support itself.
More information is available in
the CVS revision log of acls.diff.