Man Linux: Main Page and Category List


       Format of URLs - The given URLs are ’overlayed’ according to their
       priority, and they get a name (to ease updating only parts).

       Such an extended URL has the form


        where URL is a standard URL known by subversion -- something like
       http://...., svn://... or svn+ssh://....

       The arguments before the URL are optional and can be in any order; the
       URL must be last.



        or, using abbreviations,


       Please mind that the full syntax is in lower case, whereas the
       abbreviations are capitalized!
        Internally the : is looked for, and if the part before this character
       is a known keyword, it is used.
        As soon as we find an unknown keyword we treat it as an URL, ie. stop

       The priority is in reverse numeric order - the lower the number, the
       higher the priority. (See url__current_has_precedence() )

Why a priority?

       When we have to overlay several URLs, we have to know which URL takes
       precedence - in case the same entry is in more than one. (Which is not

Why a name?

       We need a name, so that the user can say ’<b>commit all outstanding
       changes to the repository at URL x</b>’, without having to remember the
       full URL. After all, this URL should already be known, as there’s a
       list of URLs to update from.

       You should only use alphanumeric characters and the underscore here;
       or, in other words, \w or [a-zA-Z0-9_]. (Whitespace, comma and
       semicolon get used as separators.)

What can I do with the target revision?

       Using the target revision you can tell fsvs that it should use the
       given revision number as destination revision - so update would go
       there, but not further. Please note that the given revision number
       overrides the -r parameter; this sets the destination for all URLs.

       The default target is HEAD.

           In subversion you can enter URL@revision - this syntax may be
           implemented in fsvs too. (But it has the problem, that as soon as
           you have a @ in the URL, you must give the target revision

Theres an additional internal number - why that?
       This internal number is not for use by the user. It is just used to
       have an unique identifier for an URL, without using the full string.

           On my system the package names are on average 12.3 characters long
           (1024 packages with 12629 bytes, including newline):

              COLUMNS=200 dpkg-query -l | cut -c5- | cut -f1 -d’ ’ | wc

       So if we store an id of the url instead of the name, we have approx. 4
       bytes per entry (length of strings of numbers from 1 to 1024). Whereas
       we’d now use 12.3 characters, that’s a difference of 8.3 per entry.

       Multiplied with 150 000 entries we get about 1MB difference in filesize
       of the dir-file. Not really small ...

       Currently we use about 92 bytes per entry. So we’d (unnecessarily)
       increase the size by about 10%.

       That’s why there’s an url_t::internal_number.