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

svn paths and the handbook

From: Russell Steicke <r-zqm_at_adelie.ath.cx>
Date: 2002-07-26 09:28:25 CEST

Hi,

I've been reading the svn handbook and experimenting with local svn
repositories, and I've been a bit confused by the handling of repository
paths by svn. My viewpoint is as a reasonably experienced cvs user, and
svn newbie. My comments here are intended as constructive, I hope they
come across that way. Please correct any of this if I'm wrong...

In a repository path such as

  http://svn.collab.net/repos/svn/trunk/subversion/

there are several different names, in several namespaces.

1. the repository access method, "http", meaning dav.

2. the hostname

With the rise of the web, people are used to seeing these two, no
problems there.

3. the path to the repository, that the web server sees. In the svn url
above, I assume this is "/repos".

4. the path to the revision inside the repository, I assume this is
"/svn/trunk/subversion/".

The distinction between 3 and 4 confused me at the start. 3 is part of
a path in a conventional filesystem that either the web server (for dav
access) or me (for local access) can "see", and 4 is entirely within the
db files, and accessed by libsvn (?). If I use the local access method,
eg

  $ svnadmin create /var/local/svn/repos
  $ svn import file:///var/local/svn/russells/repos proj1 proj1

then I can "see" everything up to ".../repos/", but not "proj1" in the
repository.

I don't think that the handbook is very clear on this distinction, and
it will confuse a lot of people like it has confused me. Once I work
all this out in my head I'll be happy to submit patches for the handbook
that may clear this up a bit.

A related question: Why does this fail?

$ svnadmin create /var/local/svn/russells/repos
$ mkdir a
$ echo hello > a/hello.txt
$ svn import file:///var/local/svn/russells/repos a a/trunk -m 'test a'
svn_error: #21069 : <Filesystem has no item>
  file not found: transaction `1', path `a/trunk'
$

The handbook has a suggested layout for multiple projects in one
repository:

  /projectA/trunk
  /projectA/branches
  ...
  /projectB/trunk
  ...

etc. How do you achieve this in practice? It seems I need the
equivalent of "svn mkdir". :)

TIA
Russell

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jul 26 09:25:24 2002

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.