From gdt at lexort.com Fri Jul 22 14:05:19 2022 From: gdt at lexort.com (Greg Troxel) Date: Fri, 22 Jul 2022 14:05:19 -0400 Subject: [Unison-hackers] call for review and testing: ACLs and extended attributes Message-ID: I have just been merging things without real review when some conditions are met: - successful CI (including old-version regression) - I understand the high-level approach of the change - I have skimmed it - The submitter has a track record of a very low rate of breakage in recent history of merged PRs - it doesn't seem super complicated There are two PRs that are on the more complicated side and I would like help with code review and testing. (I haven't skimmed yet, but will.) See the notes; running this will upgrade archives to a form that can't be used by the tip of master, but I am pretty sure you can use it on test roots only with no trouble. (My approach when doing any kind of upgrade is to make sure everything is 100% synced before changing anything; then archives can just be deleted and regenerated.) ACL: https://github.com/bcpierce00/unison/pull/359 xattr: https://github.com/bcpierce00/unison/pull/368 (Also note that there are test commits that won't get merged.) I am unclear if these use the same archive-format extension and how it works if you run both. Maybe T?ivo can comment? Testing on other than the triculture (like a monoculture, but with 3 :-) is especially welcome. I intend to test them myself, which may lead to a subroutine call to grasp ACLs and xattr, which are newfangled to me and something I don't tend to use (although clearly useful), and if by the time that happens, there are no comments, I'm going to merge anyway. Thanks, Greg -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 194 bytes Desc: not available URL: From toivol at gmail.com Sat Jul 23 01:41:15 2022 From: toivol at gmail.com (=?UTF-8?B?VMO1aXZvIExlZWRqw6Rydg==?=) Date: Sat, 23 Jul 2022 07:41:15 +0200 Subject: [Unison-hackers] call for review and testing: ACLs and extended attributes In-Reply-To: References: Message-ID: On Fri, 22 Jul 2022 at 20:05, Greg Troxel wrote: > > ACL: https://urldefense.com/v3/__https://github.com/bcpierce00/unison/pull/359__;!!IBzWLUs!Uv_UjlSWdfIVondJ1flL5QkUHASF51RpeBuM0JQkA_01mro7SQOeDeGfPNiKqhZWzou4Ez38JdO7gvlOEAmH3Ti2MfQ$ > xattr: https://urldefense.com/v3/__https://github.com/bcpierce00/unison/pull/368__;!!IBzWLUs!Uv_UjlSWdfIVondJ1flL5QkUHASF51RpeBuM0JQkA_01mro7SQOeDeGfPNiKqhZWzou4Ez38JdO7gvlOEAmHI1Z-sOk$ > > I am unclear if these use the same archive-format extension and how it > works if you run both. Maybe T?ivo can comment? Yes, these are based on the umarshal extensibility and feature negotiation capability merged a while back. After each connection is established, if both client and server support xattr and/or ACL then the RPC structures will be adjusted accordingly for one or both of the features. As will the archive format. With the exception that once archive format is extended, it will remain so. Even if at the next connection xattr and/or ACL are not negotiatied. This also means that if you use a new client and connect to an older server (or vice versa) then the archive will not be upgraded. Everything will (well, should) work as if these features did not exist in the code. These features are independent (although they share a lot of code, of course). In practice, the ACL PR is based on the xattr PR, so it currently includes both the features and if the server also supports both then both will be enabled at the same time. If server supports only xattr then only that feature will be enabled. There is a chance to consolidate some testing. Since the ACL PR is based on the xattr PR, binaries built from the ACL PR can be used to test both features. Even at the same time, by enabling both preferences for test runs.