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

Re: Problems understanding Subversion layout with Subclipse..

From: Mark Phippard <MarkP_at_softlanding.com>
Date: 2005-08-17 02:51:45 CEST

Kevin Duffey <supreme_java_guru_1@yahoo.com> wrote on 08/16/2005 05:14:20
PM:

> Having worked with Eclipse and CVS for years, I am a
> little confused as to how to add my existing project
> on my windwos box into my subversion repository on our
> linux box through Subclipse. Can this be done?

Of course.

> With Subversion, I have already used the svnadmin tool
> to create a project, /client below our
> /usr/local/svnroot directory.

Is /client a repository or a folder in a repository?

> repository connection via SVN and Subclipse, it's
> fine. I use the https://oursite.com/svnroot/client for
> the URL and for the root I just use the
> https://oursite.com. This seems to work.

That is not the correct root (but it will not cause a problem yet). The
root is the URL that points inside the root of your repository. In your
case it is sounding like that is the first URL in its entirety.

> Now here inlies the confusion. I want to add my
> "previously stored CVS project" into the SVN
> repository at the /client location.

Then why did you create the trunk/branches/tags folder?

> I right-click and
> select team->share-> and use the SVN repos I set up.
> The next step asks me for a module name? Huh? From
> what I gather, the repository with the /client at the
> end IS the module name. So when I add a module name
> (say client), then log in via ssh, I see in my
> /svnroot/client/client and below that all the same
> dirs I see in /svnroot/client. It's as if it creates
> the repository location AGAIN below the one I already
> created manually to use. But if I just use /svnroot
> and don't add the /client to the URL part, it wont let
> me attach!

Yes, it will do this. It sounds like svnroot is also just a folder above
your repository. If so, it has no more meaning than /usr/local.

> So two questions I guess... one, what am I doing wrong
> above? The other, usually in CVS I have several
> projects each with their own location (project name)
> in CVS. How do I mimic this functionality in
> Subversion through Subclipse?

Typically, you would have a repository, let's call it repos. We will say
it lives in folder /usr/local/svnroot/repos. The URL to the root of this
repository would be:

https://oursite.com/svnroot/repos

But that is assuming that you created an Apache <location> directive of
/svnroot. Personally, I would call the <location> /svn so that you are
not confused about the URL and the real underlying folder.

Anyway, inside your repository use svn mkdir to create folders for each
project, such as

/
|--ProjectA
|--ProjectB
|--ProjectC
|--ProjectD

Define a repository location in Subclipse that points to the root of the
repository. That way you can see and access any folder in the repository.
 When you do a Share project, take the "Use specified module name" option
and specify a value of "ProjectA/trunk". When you finish, Subclipse will
create the trunk folder (which it has to do) and then let you commit the
contents of your project into that folder.

If we use the above examples, when you are done, your code would be
located at this URL in the repository:

https://oursite.com/svnroot/repos/ProjectA/trunk

I just reworked these dialogs last week for the next release. Hopefully
they will be easier to understand. I just updated the help today. You
can see it directly in our repository:

http://subclipse.tigris.org/svn/subclipse/trunk/subclipse/ui/html/gettingstarted/importing.html

Login as guest/guest if needed.

Mark

_____________________________________________________________________________
Scanned for SoftLanding Systems, Inc. by IBM Email Security Management Services powered by MessageLabs.
_____________________________________________________________________________
Received on Wed Aug 17 10:51:45 2005

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