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
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.
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 ;)
On 2012-11-19 08:17, Markus Schaber wrote:
> Could you give a flag to the parsing code whether it should error or just warn on that issue?
> So on an update, we can use the warning, while the code can error out on propset/propedit.
> And (of course), for backwards compatibility, the behavior in case of an collision should resemble the old behavior (which of the two entries wins...)
> Best regards
> Markus Schaber
> CODESYS(r) a trademark of 3S-Smart Software Solutions GmbH
> Inspiring Automation Solutions
> 3S-Smart Software Solutions GmbH
> Dipl.-Inf. Markus Schaber | Product Development Core Technology
> Memminger Str. 151 | 87439 Kempten | Germany
> Tel. +49-831-54031-979 | Fax +49-831-54031-50
> E-Mail: email@example.com | Web: http://www.codesys.com
> CODESYS internet forum: http://forum.codesys.com
> Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915>
Received on 2012-11-19 15:58:25 CET