Homepage > Man Pages > Category > File Formats
Homepage > Man Pages > Name > F

Format of URLs

man page of Format of URLs

Format of URLs: the lower the number, the higher the priority. (See url__current_has_precedence() )

NAME

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 ['name:'{name},]['target:'{t-rev},]['prio:'{prio},]URL where URL is a standard URL known by subversion -- something like //...., svn://... or svn+ssh://.... The arguments before the URL are optional and can be in any order; the URL must be last. Example: name:perl,prio:5,svn://... or, using abbreviations, N:perl,P:5,T:324,svn://... 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 processing. 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 recommended!)

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. Note: 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 everytime!)
THERE'S 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. Note: 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. FORMAT OF URLS(5)
 
 
 

Copyright © 2011–2018 by topics-of-interest.com . All rights reserved. Hosted by all-inkl.
Contact · Imprint · Privacy

Page generated in 14.89ms.

tier-bedarf.com | doomsdaydude.com | und-verkauft.de