Neels J Hofmeyr wrote: > Thanks for your input, Markus! > > As so often with externals, things are more complex than one would think. > > - When an externals error occurs, the entire externals property remains > unhandled. That needn't be so. > > - When an existing repos has duplicates, doing a simple update/checkout with > the new error check would be tiresome, as one would first need to edit all > those props before the update completes. > > - To be able to issue a warning, the parsing function needs a new argument > with a callback function (or something). Like this it can notify about more > than one duplicate. It could still parse everything and return the parsed > data, and externals updating could continue to work the same (stupid) way it > does now: fifo style. Just adding a flag to the function to select between > error and warning won't work, as that function does not have any way to > issue warnings. > > Right now I'm thinking: > - add a callback arg to svn_wc_parse_externals_description3(). > - the callback fn usually tries to punch a warning thru to the user. > - maybe during propset/propedit, that callback causes an error.
Sounds icky. Maybe that's the wrong level to detect duplicates. Instead, let this parse function return a list describing exactly what it parsed, and let the *caller* check for duplicates. - Julian > Maybe all the other externals parse errors should be handled in the same > way? We'll see about that later. Maybe we should even ... reimplement > externals from scratch ;)