Julian Foad <julianf...@btopenworld.com> writes: > Philip Martin wrote: >> Michael Pilato" <cmpil...@collab.net> writes: > >> >>> [Deferring further comment until we unearth the reasoning behind switch >>> supporting --ignore-ancestry at all.] >> >> You added it in r1087015 as a backwards compatiblity switch when fixing >> issue http://subversion.tigris.org/issues/show_bug.cgi?id=3848. > > IMO what we need to get to the bottom of, is not the command-line > switch '--ignore-ancestry', but rather the reason why the switch > command ever requests ignore-ancestry behaviour of the repository-side > diff that it performs.
Backwards compatibility. svn_repos_dir_delta had ignore-ancestry since 1.0, it was added in r845731, and switch operated with ignore-ancestry set false. r1087015 started making switch require history between the nodes, with a switch to get the old behaviour. At this stage the history check was purely a client side check of the relationship between the nodes, the RA/repos layers still ignored ancestry during switch. r1449413 passes the ignore-ancestry flag over RA to repos so that switch now takes full account of ancestry. -- Certified & Supported Apache Subversion Downloads: http://www.wandisco.com/subversion/download