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!)
We need a name, so that the user can say 'commit all
outstanding
changes to the repository at URL x', 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.)
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 every
time!)
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 using the needs name 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 ...
And using the whole URL would inflate that much more.
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.
Generated automatically by Doxygen for fsvs from the source
code.