Comment 7 for bug 1584193

Revision history for this message
Christian Muirhead (2-xtian) wrote :

Just to check what I think I'm doing here...

We need to still accept the old-style URLs for people working from old examples or using scripts with those formats.

The desired :user/:name/:series/:rev has optional parts so it can be:

user/name/series/1
user/name/series
user/name/1
name/series/1
user/name
name/series
name/1
name

I think that's all of the possibilities, since name is required.

cs: will be allowed at the start of any of these. Also local:, I think?
(I'm ignoring the u/ prefix, #5 suggests that's not needed?)

Looking at the tests there are some existing old formats like series/name that should still be accepted but will conflict with the above ones. These can be distinguished using a fixed list of series.

There are also some test urls including the channel (which can only be development) - can those be specified in the new url format, or is it always specified in a separate --channel argument? Will "development" be changing to "edge" to match snaps?

From the tests it seems like there's a canonicalisation step for when the URL is echoed back to the user - I'll change this so that they're always echoed in the new format.