Hello Erik, hello Karl,
thank you for your answers.
On Friday 09 May 2008 Karl Fogel wrote:
> "Erik Huelsmann" <ehuels_at_gmail.com> writes:
> > On 5/9/08, Philipp Marek <philipp_at_marek.priv.at> wrote:
> >> I'd like to change the definition of the "svn:special" property.
> >>
> >> Currently [1] svn ignores the value of the "svn:special" property, and
> >> always puts a "*" in there; I'd like to store the type of the special
> >> file, ie. "link" for symlinks, and (in FSVS at least) "bdev" and "cdev",
> >> too.
> >
> > Well, yes, but also no: the existance of the property means that the
> > content the file is to be interpreted specially. Currently svn doesn't
> > implement other types of special files than symlinks, that's true, but
> > the design doesn't limit special files to being links. If you look at
> > the content of the file, the first word is "link". Should we choose to
> > version cdev and/or bdev type of nodes, then the content of the file
> > can be assigned additional meanings, including for example "cdev" and
> > "bdev" with different parameter arguments than "link". There won't be
> > a need to change the meaning of the property.
>
> Yes. Philipp, were you aware that the file's versioned contents
> contains more information about the specialness? If we also made the
> prop val contain such information, we'd have to figure out what to do
> when it disagrees with the file contents :-). Much better to keep the
> prop val as a boolean flag, and let the contents remain the single
> source of information about the specialness.
Yes; FSVS currently has the "link " (with space) hardcoded for the text data,
and additionally uses "cdev " or "bdev " according to the file's type.
So it's compatible, as long as only symlinks are versioned.
But now I've got the problem that eg. svn_ra_do_status() gives all properties,
so I know that some entry is a special node - but I don't know what kind.
That's why I asked to put the type in the property.
Karl, yes, I know that there's a possible problem if the file contents
disagree with the property; a possible solution would be to define that
everything non-"*" is to be taken as the type, and the text contents are
*only* the contents, without the type.
But that would (again!) require changes in all svn_ra frontends, and might be
problematic.
So, summarized, I fear that the only way to solve my problem is to ask for the
text contents of *every* special entry, to see which kind of special entry it
is ... which would be slow.
Is there some other way I could solve that?
If I used some additional property value, eg. "fsvs:special-type" with the
values "link", "cdev" or "bdev", and kept everything else identical, I have
again the problem that the data might disagree ...
Any better ideas?
Regards,
Phil
--
Versioning your /etc, /home or even your whole installation?
Try fsvs (fsvs.tigris.org)!
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-05-10 19:07:02 CEST