You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by John Pye <jo...@student.unsw.edu.au> on 2006/03/02 23:50:03 UTC

Broken repository: Unsupported special file type '#!'

Hi all,

Yesterday I managed to break our subversion repository, and I'm 
wondering if anyone can give me some suggestions on how to fix it.

Around the time it broken, I checked in a MSYS-generated 'install-sh' 
symlink file using TortoiseSVN on Win2k. This broke my local working 
copy, which I don't mind, but it's now impossible for me to checkout a 
new working copy from the repository, which is obviously bad. Here is 
the error message, which as you can see corresponds to this 'install-sh' 
file:

> A    trunk/pygtk/interface/solverstatus.h
> A    trunk/pygtk/interface/simulation.h
> A    trunk/pygtk/interface/install-sh
> svn: In directory 'trunk/pygtk/interface'
> svn: Unsupported special file type '#!'
> [john@jdpipe ascend-broken]$


The repository details are here:
https://pse.cheme.cmu.edu/wiki/view/Ascend/VersionManagement

I tried using the 'svn cleanup' on my old working copy. It complains 
about missing files in 'text-base'.

What can I do to get our repository working again? Is there any way I 
can fix it without backend access?

If I *do* have backend access, what should I do then?

Cheers
JP

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

Re: Broken repository: Unsupported special file type '#!'

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Mar 3, 2006, at 00:50, John Pye wrote:

>> A    trunk/pygtk/interface/solverstatus.h
>> A    trunk/pygtk/interface/simulation.h
>> A    trunk/pygtk/interface/install-sh
>> svn: In directory 'trunk/pygtk/interface'
>> svn: Unsupported special file type '#!'

It sounds almost like you somehow managed to replace a symlink with a  
real file, without Subversion completely noticing it. Or, you checked  
out a Unix symlink onto a Windows computer (Windows cannot support  
symlinks), then overwrote its contents.

I agree with Garrett that I would try to delete the file by accessing  
it over the URL. Then you can recreate it properly. As to your broken  
working copy, probably easiest to trash it (or at least the  
subdirectory where the problem occurs) and get a new one.




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

Re: Broken repository: Unsupported special file type '#!'

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 3/2/06, John Pye <jo...@student.unsw.edu.au> wrote:
> OK, I understand now that I was doing a Very Bad Thing. But what are
> your suggestions for fixing this? I have 'svn delete'-ed the file, but I
> still cannot checkout a copy of the repository. You can try this
> yourself (URL at the start of the thread). I get that error message
> about the unsupported special file type...

It turns out that the file causing this particular error is
'config.guess'.  No clue if there are further files with similar
problems, but deleting that one should let you get further.

FWIW, I figured that out by hacking the error message (in
subversion/libsvn_subr/subst.c:create_special_file) to print out the
filename.  I'll at least commit a cleaned up version of that patch,
since without the filename it's a pretty freaking useless error...

-garrett

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


Re: Broken repository: Unsupported special file type '#!'

Posted by John Pye <jo...@student.unsw.edu.au>.
OK, I understand now that I was doing a Very Bad Thing. But what are
your suggestions for fixing this? I have 'svn delete'-ed the file, but I
still cannot checkout a copy of the repository. You can try this
yourself (URL at the start of the thread). I get that error message
about the unsupported special file type...

I can get you a tarball of the backend files if that helps. But it's
350MB, ouch.

Cheers
JP

Ryan Schmidt wrote:

> On Mar 3, 2006, at 02:12, John Pye wrote:
>
>> Come to think of it, it's possible that the working directory had been
>> checked out with cygwin svn, and then I was trying to commit using
>> TortoiseSVN.
>>
>> I guess the question then is: how does TortoiseSVN handle symlinks,  and
>> how does standard cygwin svn handle symlinks, and is it possible that
>> these are incompatible? And what aobut the path-mangling that happens
>> between cygwin, msys, and windows?
>
>
> TortoiseSVN cannot handle symlinks because Windows cannot handle 
> symlinks. It's probably a Very Bad Idea to mix environments like 
> that. I'd recommend using a working copy only from one environment at 
> a time, if the working copy contains symlinks at all, because of the 
> different and incompatible ways in which the two environments treat 
> symlinks.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>

-- 
John Pye
School of Mechanical and Manufacturing Engineering
The University of New South Wales
Sydney  NSW 2052  Australia
t +61 2 9385 5127
f +61 2 9663 1222
mailto:john.pye_AT_student_DOT_unsw.edu.au
http://pye.dyndns.org/


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

Re: Broken repository: Unsupported special file type '#!'

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Mar 3, 2006, at 02:12, John Pye wrote:

> Come to think of it, it's possible that the working directory had been
> checked out with cygwin svn, and then I was trying to commit using
> TortoiseSVN.
>
> I guess the question then is: how does TortoiseSVN handle symlinks,  
> and
> how does standard cygwin svn handle symlinks, and is it possible that
> these are incompatible? And what aobut the path-mangling that happens
> between cygwin, msys, and windows?

TortoiseSVN cannot handle symlinks because Windows cannot handle  
symlinks. It's probably a Very Bad Idea to mix environments like  
that. I'd recommend using a working copy only from one environment at  
a time, if the working copy contains symlinks at all, because of the  
different and incompatible ways in which the two environments treat  
symlinks.



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

Re: Broken repository: Unsupported special file type '#!'

Posted by John Pye <jo...@student.unsw.edu.au>.
Hi Garrett,

I tried what you suggested with 'svn delete' (did it via the 
TortoiseSVN 'repo-browser') but it's still not fixed. The error message
(for an update via the TortoiseSVN client) has now changed to:

> Added:
> C:\cygwin\home\john\src\ascend\trunk\pygtk\interface\solverstatus.h 
> Updated:
> C:\cygwin\home\john\src\ascend\trunk\pygtk\interface\simulation.h 
> Error: In directory
> 'C:\cygwin\home\john\src\ascend\trunk\pygtk\interface' 
> Error: Unsupported special file type '#!' 

Trying the 'svn co' command under FC4, I now get:

> A    trunk/pygtk/interface/simulation.h
> svn: In directory 'trunk/pygtk/interface'
> svn: Unsupported special file type '#!'
> [john@cruncher2 ascend-broken]$

The file that is now causing the error is one that I haven't changed
since a few days before the error showed up.

You asked me to describe what I was doing. I'm not in a position to want
to reproduce this error yet (I don't even know how to fix it) but... I
was pretty much just using Subversion as usual. It was TortoiseSVN,
vesion 1.3.2 Build 5840 - 32 bit on a Win2k Pentium 4.

Using the MSYS commandline, was working on a checked-out version of the
repository. I ran 'libtoolize' and 'automake -m' then added the new
files to the repository. One of the new files, 'install-sh', was in fact
a symlink to /usr/share/install-sh or something like that. Because I had
my $PATH set up wrong in MSYS, the symlink actually points to
C:\cygwin\usr\share\automake-1.9\install-sh.

Come to think of it, it's possible that the working directory had been
checked out with cygwin svn, and then I was trying to commit using
TortoiseSVN.

I guess the question then is: how does TortoiseSVN handle symlinks, and
how does standard cygwin svn handle symlinks, and is it possible that
these are incompatible? And what aobut the path-mangling that happens
between cygwin, msys, and windows?

Clearly this 'install-sh' file shouldn't have been added to the
repository -- it's still bad that I managed to break the repository though.

Any other ideas?

Cheers
JP

Garrett Rooney wrote:

>On 3/2/06, John Pye <jo...@student.unsw.edu.au> wrote:
>  
>
>>Hi all,
>>
>>Yesterday I managed to break our subversion repository, and I'm
>>wondering if anyone can give me some suggestions on how to fix it.
>>
>>Around the time it broken, I checked in a MSYS-generated 'install-sh'
>>symlink file using TortoiseSVN on Win2k. This broke my local working
>>copy, which I don't mind, but it's now impossible for me to checkout a
>>new working copy from the repository, which is obviously bad. Here is
>>the error message, which as you can see corresponds to this 'install-sh'
>>file:
>>
>>    
>>
>>>A    trunk/pygtk/interface/solverstatus.h
>>>A    trunk/pygtk/interface/simulation.h
>>>A    trunk/pygtk/interface/install-sh
>>>svn: In directory 'trunk/pygtk/interface'
>>>svn: Unsupported special file type '#!'
>>>[john@jdpipe ascend-broken]$
>>>      
>>>
>>The repository details are here:
>>https://pse.cheme.cmu.edu/wiki/view/Ascend/VersionManagement
>>
>>I tried using the 'svn cleanup' on my old working copy. It complains
>>about missing files in 'text-base'.
>>
>>What can I do to get our repository working again? Is there any way I
>>can fix it without backend access?
>>
>>If I *do* have backend access, what should I do then?
>>    
>>
>
>You could probably delete the symlink via 'svn delete
>$URL_OF_REPOS/path-to-symlink', and then you'll be able to update
>again, although I'm quite curious exactly how you managed to make this
>happen.  If you could provide a list of steps to get into this state
>that would be much appreciated.
>
>-garrett
>
-- 
John Pye
School of Mechanical and Manufacturing Engineering
The University of New South Wales
Sydney  NSW 2052  Australia
t +61 2 9385 5127
f +61 2 9663 1222
mailto:john.pye_AT_student_DOT_unsw.edu.au
http://pye.dyndns.org/


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

Re: Broken repository: Unsupported special file type '#!'

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 3/2/06, John Pye <jo...@student.unsw.edu.au> wrote:
> Hi all,
>
> Yesterday I managed to break our subversion repository, and I'm
> wondering if anyone can give me some suggestions on how to fix it.
>
> Around the time it broken, I checked in a MSYS-generated 'install-sh'
> symlink file using TortoiseSVN on Win2k. This broke my local working
> copy, which I don't mind, but it's now impossible for me to checkout a
> new working copy from the repository, which is obviously bad. Here is
> the error message, which as you can see corresponds to this 'install-sh'
> file:
>
> > A    trunk/pygtk/interface/solverstatus.h
> > A    trunk/pygtk/interface/simulation.h
> > A    trunk/pygtk/interface/install-sh
> > svn: In directory 'trunk/pygtk/interface'
> > svn: Unsupported special file type '#!'
> > [john@jdpipe ascend-broken]$
>
>
> The repository details are here:
> https://pse.cheme.cmu.edu/wiki/view/Ascend/VersionManagement
>
> I tried using the 'svn cleanup' on my old working copy. It complains
> about missing files in 'text-base'.
>
> What can I do to get our repository working again? Is there any way I
> can fix it without backend access?
>
> If I *do* have backend access, what should I do then?

You could probably delete the symlink via 'svn delete
$URL_OF_REPOS/path-to-symlink', and then you'll be able to update
again, although I'm quite curious exactly how you managed to make this
happen.  If you could provide a list of steps to get into this state
that would be much appreciated.

-garrett

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