[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Change value of svn:special boolean?

From: Philipp Marek <philipp_at_marek.priv.at>
Date: Sat, 10 May 2008 19:06:57 +0200

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

This is an archived mail posted to the Subversion Dev mailing list.