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

RE: propget on deleted files... bug?

From: Jason Kealey <jkealey_at_shade.ca>
Date: 2006-04-17 00:11:12 CEST

Here are some reproduction steps. I have prefixed the Output with ** in
order to quickly identify the problematic situations.

The platform is Windows Server 2003 (repro steps can be trivially changed to
work on other OSes).

I am using:
svn, version 1.3.1 (r19032)
   compiled Mar 30 2006, 02:41:28

In your main folder (ex: c:\svn\)
svnadmin create mockup
(setup auth with harry/harryssecret in conf directory)

In a temp folder (ex: c:\temp\)
svn co --username harry --password harrysecret svn://localhost/mockup

cd mockup
svn propget svn:mime-type svn://localhost/mockup/not_here_at_0
  ( **Output: svn: Unknown node kind for 'svn://localhost/mockup/not_here' )
  ( Same happens if used bdb instead of fsfs)

dir > file.txt
svn add file.txt
svn commit --message test

svn propget svn:mime-type svn://localhost/mockup/not_here_at_0
  ( **Output: svn: Unknown node kind for 'svn://localhost/mockup/not_here' )
svn propget svn:mime-type svn://localhost/mockup/not_here_at_1
  ( **Output: svn: Unknown node kind for 'svn://localhost/mockup/not_here' )
svn propget svn:mime-type svn://localhost/mockup/file.txt_at_0
  ( **Output: svn: Unknown node kind for 'svn://localhost/mockup/file.txt' )
svn propget svn:mime-type -r 0 file.txt
  ( Output: svn: Unable to find repository location for 'file.txt' in
revision 0 )
svn propget svn:mime-type -r 0 file.txt@0
  ( **Output: svn: Unknown node kind for 'svn://localhost/mockup/file.txt' )
svn propget svn:mime-type svn://localhost/mockup/file.txt_at_1
  ( Output: is blank (okay because file.txt is not a binary file) )
svn propget svn:mime-type file.txt@1
  ( Output: is blank (okay because file.txt is not a binary file) )
svn propget svn:mime-type file.txt@0
  ( Output: is blank (looks odd to me, but it may be due to the fact I don't
understand the difference between the -r REV and @REV issue) )

copy c:\windows\notepad.exe .
svn add notepad.exe
  ( Output: A (bin) notepad.exe (shows the file is binary) )
svn commit --message test2

svn propget svn:mime-type notepad.exe
  ( Output: application/octet-stream (confirmation, mime-type was set))
svn propget svn:mime-type notepad.exe@0
  ( Output: application/octet-stream (See ### below) )
svn propget svn:mime-type notepad.exe@1
  ( Output: application/octet-stream (See ### below) )
svn propget svn:mime-type notepad.exe@1136253
  ( Output: application/octet-stream (See ### below) )
svn propget svn:mime-type -r 2 notepad.exe
  ( Output: application/octet-stream (okay))
svn propget svn:mime-type -r 1 notepad.exe
  ( Output: svn: Unable to find repository location for 'notepad.exe' in
revision 1 (good error message))
svn propget svn:mime-type -r 1 notepad.exe@1
  ( **Output: svn: Unknown node kind for
'svn://localhost/mockup/notepad.exe' )
svn propget svn:mime-type -r 2 notepad.exe@1
  ( **Output: svn: File not found: revision 1, path '/notepad.exe' (See ###
below) )
svn propget svn:mime-type svn://localhost/mockup/notepad.exe_at_0
  ( **Output: svn: Unknown node kind for
'svn://localhost/mockup/notepad.exe')
svn propget svn:mime-type svn://localhost/mockup/notepad.exe_at_1
  ( **Output: svn: Unknown node kind for
'svn://localhost/mockup/notepad.exe')
svn propget svn:mime-type svn://localhost/mockup/notepad.exe_at_2
  ( Output: application/octet-stream )
svn propget svn:mime-type svn://localhost/mockup/notepad.exe_at_3
  ( Output: svn: No such revision 3)

svn delete notepad.exe
svn ci --message deleted

svn propget svn:mime-type notepad.exe
  ( Output: svn: 'notepad.exe' is not under version control)
svn propget svn:mime-type notepad.exe@2
  ( Output: svn: 'notepad.exe' is not under version control)
svn propget svn:mime-type svn://localhost/mockup/notepad.exe_at_2
  ( Output: application/octet-stream)
svn propget svn:mime-type svn://localhost/mockup/notepad.exe_at_1
  ( **Output: svn: Unknown node kind for
'svn://localhost/mockup/notepad.exe')
svn propget svn:mime-type -r 2 svn://localhost/mockup/notepad.exe
  ( Output: svn: File not found: revision 3, path '/notepad.exe' (See ###
below))

svn propget svn:mime-type --revprop -r 2 notepad.exe
  ( Output: svn: Either a URL or versioned item is required (this is the
first thing I tried, before learning what --revprop was for)
svn propget svn:mime-type --revprop -r 2 svn://localhost/mockup/notepad.exe
  ( Output: none. Confused me at first, I thought I had the right syntax,
but the file didn't have an svn:mime-type)

###: These look odd to me, but it may be due to the fact I don't understand
the difference between the -r REV and @REV issue; is there documentation
somewhere so that I can read up on this?

I also included a few steps that I had tried just in case someone likes to
update documentation after reading common user mistakes.

As you can see, the error message doesn't depend on the file being deleted,
it having a certain property set or even having ever existed. I am very
surprised by the inconsistencies, but this may be because of ###.

Thanks,
Jason

-----Original Message-----
From: rooneg@gmail.com [mailto:rooneg@gmail.com] On Behalf Of Garrett Rooney
Sent: April 14, 2006 2:17 PM
To: Jason Kealey
Cc: Jody Shumaker; dev@subversion.tigris.org
Subject: Re: propget on deleted files... bug?

On 4/13/06, Jason Kealey <jkealey@shade.ca> wrote:
> Thank you both for your input. Doing more research, I discovered it was my
> mistake, as I had tried all of these before, but with an error in my URL.
I
> had written a half a dozen test cases, all with the same slip-up in the
> directory structure.
>
> To clear things up, it doesn't seem that the -r argument is required when
> using a URL; hence the documentation is correct.
>
> However, when I re-ran my (erroneous) test cases, I got the following
> output:
>
> svn propget svn:mime-type svn://yourserver/repo/any/path_at_1422
> svn: Unknown node kind for 'svn://yourserver/repo/any/path'
>
> I personally thought this cryptic error message meant the syntax wasn't
well
> understood and moved on to another attempt. Could this error message be
made
> clearer to prevent bumbling fools like myself from bothering you?
>
> Here are some examples of error messages that are much clearer:
> svn: Unrecognized URL scheme for 'dsvn://yourserver/repo/any/path'
> svn: Unknown hostname 'yourserver-invalid'
> svn: No repository found in 'svn://yourserver/typo/any/path'
>
> To an end user, the latter three messages make sense, but the first one
does
> not.

Can you give a reproduction recipie that produces that error message
(ideally a set of commands that creates a new repository, gets it into
the appropriate state, and then runs the command that shows the
problem). With that in hand it would be pretty simple to improve the
error message.

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Apr 17 00:11:42 2006

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