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

Newbie questions: How to check out just one file, etc.

From: Carole E Mah <Carole_Mah_at_brown.edu>
Date: 2005-01-23 03:44:42 CET

Hi, newbie here. Sorry if these questions are answered in the FAQ and I
just couldn't find them there.

After reading what seem like the revelant chapters in the user manual
(everything through Chapter 3, "Guided Tour", inclusive), I still cannot
figure out how to do some very basic things.

To wit:

1.) How do I check out just *one file* from the repository? I don't want
the entire directory structure, I just want one file.

Why? You might ask. Because I just want to check out and work on ONE
damn file, for example, index.php. I don't want to wait four, five, or
more minutes for subversion to slowly check out the entire working copy,
which includes many, many megabytes (and eventually gigabytes as I add
more files) of stuff including image files (for which there will be no
room on our unix machine if the several people working on the project
all have to check out an entire 'working copy' each).

If you know the answer to this, please also point out to me where in the
user manual it says how to do this.

2.) Even more important than being able to check out just one file, I'd
like to be able to say something like, "check out only
myPath/phpScripts/ and myPath/includes, but not myPath/images. Can I do
that with one or two commands instead of having to issue dozens of
little 'single file checkout' commands? I.e. can I use a wildcard in
whatever the command might be that answers question number one above? Or
can I say something like 'svn checkout
file:///srv/projects/svn/myProject/myPath/*.php?

3.) Right now we just use RCS to manage versioning (no CVS, just RCS).
Our normal working model is that all the files for project 'someProject'
live in one place, /www/htdocs/projects/someProject/ (inside the web
hierarchy on the development machine), and everyone just edits the files
in-place there, with emacs or vi or pico (after ssh-ing into the unix
machine), and some of us work remotely in BBEdit and save to the server
every ten minutes (BBEdit keeps open an SFTP connection to the unix server).

Under the Subversion version control model, it looks like only one of
person will be able to work on the working copy of someProject/ in the
web hierarchy, and everyone else will have to check out working copies
to somewhere else, e.g. their home directories, or even to their desktop
Macs and PCs. I don't quite see how those people who are unlucky enough
to have their working copies outside the web hierarchy will be able to
"see" if the changes they made to the code are "working" properly. For
one thing, the paths will be all wrong, since their working copy will be
somewhere else in the unix file structure (and maybe not even in a web
directory), or on a local desktop machine. And more gallingly, every
time we want to incorporate everyone's changes into the working copy in
the web hierarchy, the person editing inside the working copy in the web
hierarchy will have ask everyone to do a 'commit' and then he will have
to do an 'update'. People won't be able to have their changes go live
without going through the person designated as the master of the working
copy in the web hierarchy. This is all just so confusing that I'm
starting to think we should just keep using RCS.

4.) Must I *really* use this whole 'trunk/branches/tags' directory
structure? I hate it, because then after I check out a working copy to
my web hierarchy, my documents now have 'trunk' in the URL path, which
is just nuts. I mean, I can move them out (i.e. up one directory), and
then delete the 'trunk' dir, but then what happens when I try to
'commit' the files back to the repository? Will it mess up because I
changed the directory structure? Can't I just dispense with 'trunk/' and
'branches/' and 'tags/' altogether? Or are they so terribly important
that I must keep them around?

Thanks for any insight on any of my admittedly naive questions.

carole
--------
Carole E. Mah
  Carole_Mah@brown.edu
Senior Programmer/Analyst
  Brown University Computing & Information Services

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sun Jan 23 03:47:11 2005

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