You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Julian Foad <ju...@btopenworld.com> on 2008/09/02 19:01:42 UTC

Re: Missing checks for error diagnostics

On Fri, 2008-08-29 at 09:57 +0200, Jens Seidel wrote:
> On Fri, Aug 29, 2008 at 12:06:47AM +0100, Julian Foad wrote:
> > Jens Seidel wrote:
> > > today I had a strange problem and I assumed an error in Subversion 1.5.2.
> > > 
> > > I tried to add a directory to my repository which I copied from another
> > > location. svn complained that the directory is already contained in the
> > > repository but it clearly isn't and svn status displays "?" for this
> > > directory.
> > 
> > Jens,
> > 
> > I understand roughly what you are talking about, but it would be very
> > much easier to understand and gauge the severity of the problem if you
> > would show an exact transcript of your input and Subversion's output.
> 
> Sorry, I was very happy that I don't have to dig into my repository to
> try many hours to extract a recipy why it fails because the reason is so
> simple.  That's why I assumed a transcript is not necessary.
> Nevertheless here is it (using 1.5.2):

Jens,

Thank you. This reproduction recipe makes it very clear what the problem
is and how to reproduce it.

I hope somebody will think of a solution and volunteer to fix it. (I
don't suppose you know anybody who could do it, do you? The rest of us
would be available to help, of course.)

- Julian


> $ svnadmin create repos
> $ svnadmin create repos2
> $ R=file://$(pwd)/repos
> $ R2=file://$(pwd)/repos2
> 
> Create a directory wc2/dir/ with a .svn/ subdirectory:
> 
> $ svn co $R2 wc2
> Checked out revision 0.
> $ svn mkdir wc2/dir
> A         wc2/dir
> $ touch wc2/dir/file
> $ svn add wc2/dir/file
> A         wc2/dir/file
> $ svn ci -m"Created dir/ with a file" wc2
> Adding         wc2/dir
> Adding         wc2/dir/file
> Transmitting file data .
> Committed revision 1.
> 
> Try to add the directory (but you do not remember about the old
> repository and the contained (hidden) .svn/):
> 
> $ svn co $R wc
> Checked out revision 0.
> $ cp -r wc2/dir wc
> $ svn add wc/dir
> svn: warning: 'wc/dir' is already under version control
> 
> 
> Now you could spend hours searching for a problem, inspecting the log,
> dumping and reloading the repository, calling svnadmin verify, ...
> 
> 
> $ svn info wc/dir
> Path: wc/dir
> URL: file:///tmp/svn/repos2/dir
> Repository Root: file:///tmp/svn/repos2
> Revision: 1
> Node Kind: directory
> Schedule: normal
> Last Changed Author: jens 
> Last Changed Rev: 1
> Last Changed Date: 2008-08-29 09:54:31 +0200 (Fri, 29 Aug 2008)
> 
> Ths doesn't match as it still refers to the old repository :-)
> 
> > > The reason is indeed simple but could nevertheless be hard to find:
> > > The directory I tried to add contained a subdirectory .svn/ from another
> > > repository.
> > > 
> > > Could Subversion stop using bogus .svn data or at least print a proper
> > > diagnostics?
> 
> Jens



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Missing checks for error diagnostics

Posted by Julian Foad <ju...@btopenworld.com>.
On Wed, 2008-09-03 at 13:04 -0700, eg wrote:
> Julian Foad wrote:
> > On Fri, 2008-08-29 at 09:57 +0200, Jens Seidel wrote:
> >> On Fri, Aug 29, 2008 at 12:06:47AM +0100, Julian Foad wrote:
> >>> Jens Seidel wrote:
> >>>> today I had a strange problem and I assumed an error in Subversion 1.5.2.
> >>>>
> >>>> I tried to add a directory to my repository which I copied from another
> >>>> location. svn complained that the directory is already contained in the
> >>>> repository but it clearly isn't and svn status displays "?" for this
> >>>> directory.
> 
> Is this from:
> 
> r32636
> "Don't allow repository creation inside of an existant repository. This 
> was first mentioned on the users list here:
> http://svn.haxx.se/users/archive-2008-08/0800.shtml"

No, this problem is not related to change r32636. This problem is about
doing things in a working copy (including "svn add", hence the words
"add a directory to my repository"), whereas that was about doing things
on the server side.

- Julian



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Missing checks for error diagnostics

Posted by eg <eg...@gmail.com>.
Julian Foad wrote:
> On Fri, 2008-08-29 at 09:57 +0200, Jens Seidel wrote:
>> On Fri, Aug 29, 2008 at 12:06:47AM +0100, Julian Foad wrote:
>>> Jens Seidel wrote:
>>>> today I had a strange problem and I assumed an error in Subversion 1.5.2.
>>>>
>>>> I tried to add a directory to my repository which I copied from another
>>>> location. svn complained that the directory is already contained in the
>>>> repository but it clearly isn't and svn status displays "?" for this
>>>> directory.

Is this from:

r32636
"Don't allow repository creation inside of an existant repository. This 
was first mentioned on the users list here:
http://svn.haxx.se/users/archive-2008-08/0800.shtml"

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Missing checks for error diagnostics

Posted by Karl Fogel <kf...@red-bean.com>.
Julian Foad <ju...@btopenworld.com> writes:
> Thank you. This reproduction recipe makes it very clear what the problem
> is and how to reproduce it.
>
> I hope somebody will think of a solution and volunteer to fix it. (I
> don't suppose you know anybody who could do it, do you? The rest of us
> would be available to help, of course.)

Actually, an *enormous* help would just be to write a test case for
this, Jens, if you have time/energy for it.  See

   http://svn.collab.net/viewvc/svn?view=rev&revision=32142

for an example of how a test is added (although note that that test is
rather more complex than yours would need to be).

If we had a regression test for this, that would reduce the amount of
time needed to fix it by at least half.  And I think this test would be
fairly easy to write...

-Karl

>> $ svnadmin create repos
>> $ svnadmin create repos2
>> $ R=file://$(pwd)/repos
>> $ R2=file://$(pwd)/repos2
>> 
>> Create a directory wc2/dir/ with a .svn/ subdirectory:
>> 
>> $ svn co $R2 wc2
>> Checked out revision 0.
>> $ svn mkdir wc2/dir
>> A         wc2/dir
>> $ touch wc2/dir/file
>> $ svn add wc2/dir/file
>> A         wc2/dir/file
>> $ svn ci -m"Created dir/ with a file" wc2
>> Adding         wc2/dir
>> Adding         wc2/dir/file
>> Transmitting file data .
>> Committed revision 1.
>> 
>> Try to add the directory (but you do not remember about the old
>> repository and the contained (hidden) .svn/):
>> 
>> $ svn co $R wc
>> Checked out revision 0.
>> $ cp -r wc2/dir wc
>> $ svn add wc/dir
>> svn: warning: 'wc/dir' is already under version control
>> 
>> 
>> Now you could spend hours searching for a problem, inspecting the log,
>> dumping and reloading the repository, calling svnadmin verify, ...
>> 
>> 
>> $ svn info wc/dir
>> Path: wc/dir
>> URL: file:///tmp/svn/repos2/dir
>> Repository Root: file:///tmp/svn/repos2
>> Revision: 1
>> Node Kind: directory
>> Schedule: normal
>> Last Changed Author: jens 
>> Last Changed Rev: 1
>> Last Changed Date: 2008-08-29 09:54:31 +0200 (Fri, 29 Aug 2008)
>> 
>> Ths doesn't match as it still refers to the old repository :-)
>> 
>> > > The reason is indeed simple but could nevertheless be hard to find:
>> > > The directory I tried to add contained a subdirectory .svn/ from another
>> > > repository.
>> > > 
>> > > Could Subversion stop using bogus .svn data or at least print a proper
>> > > diagnostics?
>> 
>> Jens
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org