On 19/11/2010 17:13, Corinna Vinschen wrote: > On Nov 19 11:07, Christopher Faylor wrote: >> On Sat, Nov 06, 2010 at 05:05:15PM +0000, Jon TURNEY wrote: >>> Currently, if, for example, I manually add the site >>> http://mirrors.kernel.org/sources.redhat.com/cygwinports/ >>> to setup's mirror list, I get two indistinguishable entries named >>> http://mirrors.kernel.org. >>> >>> Furthermore, because the code to ensure the site just added is selected >>> uses the string inside the list control >>> to locate elements, we end up with a random one of those two >>> indistinguishable entries selected (usually the >>> previously existing one). This problem also prevents the selected sites >>> being correctly saved and restored >>> for the next setup run. >>> >>> So, to make the site chooser list entries unique and distinguishable, add >>> the last element of the URL path to >>> the site chooser, if it exists and isn't 'cygwin' (or some other >>> alternatives used by current mirrors) >>> >>> (Also fix the logic for identifying protocol and site name part of the URL >>> to find the first '/' after a '//', >>> rather than the first '/' after a '.', to handle sitenames which aren't >>> FQDNs correctly) >>> >>> 2010-11-06 Jon TURNEY <[email protected]> >>> >>> * site.cc (init): If interesting, Show the last element of URL, as well >>> as the protocol and sitename in the site chooser >> >> I like this better than my idea of showing the full URL. Unless there >> are objections (Corinna?) please check in. > > No objections. Just go ahead.
I've committed patches #1 and #2. I think I need to take another look at this one (#3) as it looks like this doesn't always fix all the problems I claim it doesn. >>> It occurs to me now that the heuristic this code uses to determine if the >>> last >>> element of the path is 'interesting' could be broken by future official >>> mirrors deciding to use something random. Would you take a patch to >>> mirrors.html saying something like "mirror the cygwin directory, not it's >>> contents, so the URL for your mirror ends 'cygwin/'"? >> >> mirrors.html is a generated file but, no, I don't want to enforce a >> naming convention for the mirrors. That seems like a headache I'd like >> to avoid. It occured to me that rather than relying on a heuristic that looks at the URL to determine interestingness, the definitive test for 'is the URL uninteresting' is 'was this URL in the mirror list?'. Unfortunately this introduces more complexity: we don't remember where URLs came from at the moment (manually added or chosen from the mirror list), and if the URL was on the mirror list when it was chosen in a previous run but not anymore, we should probably say something about how the mirror is out of date, rather than decide it is interesting...
