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

Re: Checking out individual files

From: B. Smith-Mannschott <benpsm_at_gmail.com>
Date: 2007-01-28 23:24:55 CET

On Jan 28, 2007, at 22:01, Les Mikesell wrote:

> > Subversion has been around for awhile now and has been used in
>> different situations. While it's certainly possible that the user
>> has a use case that nobody has thought of before, perhaps instead
>> it's a use case that others are successfully using Subversion for.
>> We just need to know what the use case is.
>
> This isn't the first time this issue has been mentioned. The
> subversion web page still claims that subversion has most of CVS's
> features but misses on something as simple as this - and for no
> particular technical reason that I can see.

No?

It seems to me that it's an unavoidable consequence of one of the
most fundamental design points of Subversion's working copies:

Working copies are to be transportable: they must not break if they
are moved.
==> they must contain their meta-information so that it travels with
them
==> in order to contain something, they must be directories.
     (excepting reiser4, I suppose)

QED.

The cost of abandoning this design and rewriting the entire client
working copy library would seem to constitute a "particular technical
reason", I think.

But, let's suppose you decided you just didn't care about the
foundational concepts of subversion's working copy model and were
going to do your own thing. When the user asks to check out a single
file, you're just going to silently create a .svn administrative
directory in whichever directory that one file is being checked out
into.

MyDir/

becomes

MyDir/.svn/...
       My_Spiffy_File

Looks great.

Except. You'd have to hack up .svn so that it knows to ignore
everything except My_Spiff_File. Who would you tell about it if you
renamed My_Spiffy_File? You've just moved My_Spiffy_File somewhere
else, unkowingly leaving behind the .svn. Oops. You're hosed. Oh
wait, you want to work on a second file too? From a different directory?

MyDir/.svn/...
       My_Spiffy_File
       Smelly_Sock_File

Ok, now who owns the .svn administrative directory? Fight Fight Fight!

Ok. Admittedly, I could see a *partial* solution here, but It
wouldn't be for free:

MyDir/.svn-My_Spiffy_File/...
       My_Spiffy_File
       .svn-Smelly_Sock_File/...
       Smelly_Sock_File

But this still would be inviting broken working copies as files and
their private .svn directories are separated unintentionally.

Can you see the appealing simplicity of keeping things directory-based?

// Ben

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sun Jan 28 23:25:24 2007

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