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

Re: [Subclipse-dev] Possible bug detected

From: Mark Phippard <markphip_at_gmail.com>
Date: 2007-06-28 15:21:51 CEST

On 6/28/07, Markus KARG <markus.karg@quipsy.de> wrote:
> Mark Phippard schrieb:
> > On 6/27/07, Markus KARG <markus.karg@quipsy.de> wrote:
> >> I want to report that I have possibly found a bug.
> >>
> >> I am using Eclipse 3.2.2 with latest Subclipse (auto-update).
> >>
> >> I did the following:
> >>
> >> Team --> Branch --> [X] Switch to new branch
> >>
> >> That worked pretty well. The branch is created and Eclipse tells me that
> >> the project is no more pointing to trunk but to the new branch.
> >>
> >> But in the svn log console I got this:
> >>
> >> copy -rHEAD svn://svn/QUIPSY5/MMGT-EJB/trunk
> >> svn://svn/QUIPSY5/MMGT-EJB/branches/mk-MMGTFKS
> >> Bad URL passed to RA layer
> >> svn: URL 'svn://svn/QUIPSY5/MMGT-EJB/branches/mk-MMGTFKS/trunk'
> >> non-existent in revision '6709'
> >>
> >> switch svn://svn/QUIPSY5/MMGT-EJB/branches/mk-MMGTFKS C:/Dokumente und
> >> Einstellungen/Karg/workspace/MMGT-EJB -rHEAD
> >> At revision 6709.
> >>
> >> I thought that it is a bug of SVN itself, so I tried the same command
> >> there -- and it worked very well.
> >>
> >> It seems as if Subclipse adds a "/trunk" to the new branch's path...?
> >
> > There is no bug. The person that implemented the switch option was
> > just very thorough. There is no way to know if the copy created a
> > trunk folder or not, so it is simply checking to see what the copy did
> > before it does the switch. The error message in the console just
> > comes from us discovering that a trunk folder was not created and you
> > can see this in the switch command that comes after where we do not
> > include trunk in the URL.
> >
> >
> Just to understand: What shall it be good for? I mean, it shall just
> switch to the exact branch that I created. Why checking for the possibly
> postfix "/trunk"?

Because the Subversion API does not tell you the path it created and
it will vary based on what is in the target of the copy. Take this
command:

svn cp $REPOS/trunk $REPOS/tags/v1.0

If the v1.0 folder does not exist already, the command will create it
and the contents of trunk will be placed inside the folder. BUT, if
the v1.0 folder does already exist, then a folder named "trunk" will
be added beneath it, and the contents will be placed in that folder.

We could check whether it existed before the command was run, but then
there would be a race condition as it could still be changed again
between the check and the copy.

-- 
Thanks
Mark Phippard
http://markphip.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subclipse.tigris.org
For additional commands, e-mail: dev-help@subclipse.tigris.org
Received on Thu Jun 28 15:21:53 2007

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