rsync historical information

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 continue to help with development and support.

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.