On 22.02.2011 20:11, Daniel Shahaf wrote: > Branko Čibej wrote on Tue, Feb 22, 2011 at 19:41:12 +0100: >> On 22.02.2011 18:17, Julian Foad wrote: >>> For example, a solution that involves normalizing all input to NFD would >>> have the advantages that on MacOSX it would need to do *no* conversions >>> and would continue to work with old repositories in Mac-only workshops. >> You'd make this configurable? But how? How do you prove that paths in >> old repositories are normalized in a certain way? You can only assume >> that for paths that you know were normalized before being written to the >> repository. And even then, you can't assume too much -- an older tool, >> without normalization, can still write denormalized strings to the >> repositury vial file://. Unless you want to have an explicit flag for > Really? So the FS layer wouldn't be aware of NFC v. NFD?
It should certainly normalize them, but there's no guarantee that an older tool wasn't linked to an older libsvn_repos/fs (whilst still being compatible with the FS layout). I admit that's not a nice way to do things, but it can happen. We'd either have to allow for this case, which implies normalizing paths as we read them from the repository; or, make the normalization mandatory with an "incompatible" FS version bump, but then you'd have to do a complete dump/reload cycle in order to upgrade your FS to that version. I'm guessing not everyone will want to do the dump/reload thing ... but the noremalize-on-read could probably be made dependent on the FS version. -- Brane