On 03/13/2013 01:36 PM, Julian Foad wrote: > The 'ignore_ancestry' parameter at the RA level is changing the way diffs > of replaced files are reported by the server. It is not the same as the > '--ignore-ancestry' flag that 'svn switch' accepts. 'svn switch > --ignore-ancestry' causes libsvn_client to bypass a check that the switch > source and destination URLs have a common ancestor before starting the > switch. > > The '--ignore-ancestry' flag also sets this 'ignore_ancestry' parameter > in the RA call to cause the server to send diffs of replaced files in a > different way, but that is a secondary effect. It controls whether the > diff of a file that happens to exist at the same relative path is > reported as text-modify or as delete-and-add, and so affects whether and > how conflicts are raised if the user had local mods. > > It is this 'do diffs as text-mods' meaning that we should make > consistently available to both 'update' and 'switch' at the RA level.
Ah, yes, I forgot about the multiple meanings of this flag in the different layers. So I agree, both switch and update should carry the server-recognized meaning of 'ignore-ancestry' in both the client and RA layers. (Sorry for the mental lapse.) This may be a bit of a sidebar, but: Does svn_ra_do_status() need the same treatment? I mean, to the degree that 'svn status -u' is supposed to be a particularly shaped type of dry-run update, does it also need support for the --ignore-ancestry flag? -- C. Michael Pilato <cmpil...@collab.net> CollabNet <> www.collab.net <> Enterprise Cloud Development
signature.asc
Description: OpenPGP digital signature