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...

Reply via email to