Re: Replacing symlink exhibits unexpected error

2011-07-26 Thread Mattius McLaughlin

On 07/19/11 12:04, Mattius McLaughlin wrote:

Hi All,

  I'm encountering some strange behaviour with replacing a symlink 
with a real file in the repository and wanted to know if what I was 
seeing is a bug or whether I'm doing something wrong.  I'd like to 
replace the file in one commit, but Subversion objects to changing the 
file type:


% ls -l trunk/memory_ddr3.v
lrwxrwxrwx 1 mclaughl eng 74 Jul 19 11:51 trunk/memory_ddr3.v - 
/proj/ddr3/s39/s39a0c2762e5ac7f7

% svn status trunk/memory_ddr3.v
% svn rm trunk/memory_ddr3.v
D trunk/memory_ddr3.v
% cp /proj/ddr3/s39/s39a0c2762e5ac7f7 trunk/memory_ddr3.v
% svn add trunk/memory_ddr3.v
A trunk/memory_ddr3.v
% svn status trunk/memory_ddr3.v
R   trunk/memory_ddr3.v
% svn ci -m Correcting link trunk/memory_ddr3.v
svn: Commit failed (details follow):
svn: Entry '/home/mclaughl/nobackup/trunk/memory_ddr3.v' has 
unexpectedly changed special status




In case anyone stumbles across this later, the missing step here was to 
remove the svn:special property as well as removing the file:


% ls -l trunk/memory_ddr3.v
lrwxrwxrwx 1 mclaughl eng 74 Jul 19 11:51 trunk/memory_ddr3.v - 
/proj/ddr3/s39/s39a0c2762e5ac7f7

% svn status trunk/memory_ddr3.v
% svn rm trunk/memory_ddr3.v
D trunk/memory_ddr3.v
% svn propdel svn:special trunk/memory_ddr3.v
property 'svn:special' deleted from 'trunk/memory_ddr3.v'.
% cp /proj/ddr3/s39/s39a0c2762e5ac7f7 trunk/memory_ddr3.v
% svn add trunk/memory_ddr3.v
A trunk/memory_ddr3.v
% svn status trunk/memory_ddr3.v
R   trunk/memory_ddr3.v
% svn ci -m Correcting link trunk/memory_ddr3.v
Replacing  trunk/memory_ddr3.v
Transmitting file data .
Committed revision 20311.

I'm surprised the client can't handle this automatically, but I suppose 
it's a fairly rare use case.


--Mattius McLaughlin


Re: Replacing symlink exhibits unexpected error

2011-07-26 Thread Stefan Sperling
On Tue, Jul 26, 2011 at 02:10:59PM -0700, Mattius McLaughlin wrote:
 On 07/19/11 12:04, Mattius McLaughlin wrote:
 Hi All,
 
   I'm encountering some strange behaviour with replacing a symlink
 with a real file in the repository and wanted to know if what I
 was seeing is a bug or whether I'm doing something wrong.  I'd
 like to replace the file in one commit, but Subversion objects to
 changing the file type:
 
 % ls -l trunk/memory_ddr3.v
 lrwxrwxrwx 1 mclaughl eng 74 Jul 19 11:51 trunk/memory_ddr3.v -
 /proj/ddr3/s39/s39a0c2762e5ac7f7
 % svn status trunk/memory_ddr3.v
 % svn rm trunk/memory_ddr3.v
 D trunk/memory_ddr3.v
 % cp /proj/ddr3/s39/s39a0c2762e5ac7f7 trunk/memory_ddr3.v
 % svn add trunk/memory_ddr3.v
 A trunk/memory_ddr3.v
 % svn status trunk/memory_ddr3.v
 R   trunk/memory_ddr3.v
 % svn ci -m Correcting link trunk/memory_ddr3.v
 svn: Commit failed (details follow):
 svn: Entry '/home/mclaughl/nobackup/trunk/memory_ddr3.v' has
 unexpectedly changed special status
 
 
 In case anyone stumbles across this later, the missing step here was
 to remove the svn:special property as well as removing the file:
 
 % ls -l trunk/memory_ddr3.v
 lrwxrwxrwx 1 mclaughl eng 74 Jul 19 11:51 trunk/memory_ddr3.v -
 /proj/ddr3/s39/s39a0c2762e5ac7f7
 % svn status trunk/memory_ddr3.v
 % svn rm trunk/memory_ddr3.v
 D trunk/memory_ddr3.v
 % svn propdel svn:special trunk/memory_ddr3.v
 property 'svn:special' deleted from 'trunk/memory_ddr3.v'.
 % cp /proj/ddr3/s39/s39a0c2762e5ac7f7 trunk/memory_ddr3.v
 % svn add trunk/memory_ddr3.v
 A trunk/memory_ddr3.v
 % svn status trunk/memory_ddr3.v
 R   trunk/memory_ddr3.v
 % svn ci -m Correcting link trunk/memory_ddr3.v
 Replacing  trunk/memory_ddr3.v
 Transmitting file data .
 Committed revision 20311.
 
 I'm surprised the client can't handle this automatically, but I
 suppose it's a fairly rare use case.

I can reproduce this problem in 1.6.x. I would say it is a bug.

It seems to work fine in 1.7, without the need to delete the
svn:special property first. There's a minor UI problem though,
'svn status' shows the replace as '~' rather than 'R'.


Replacing symlink exhibits unexpected error

2011-07-19 Thread Mattius McLaughlin

Hi All,

  I'm encountering some strange behaviour with replacing a symlink with 
a real file in the repository and wanted to know if what I was seeing is 
a bug or whether I'm doing something wrong.  I'd like to replace the 
file in one commit, but Subversion objects to changing the file type:


% ls -l trunk/memory_ddr3.v
lrwxrwxrwx 1 mclaughl eng 74 Jul 19 11:51 trunk/memory_ddr3.v - 
/proj/ddr3/s39/s39a0c2762e5ac7f7

% svn status trunk/memory_ddr3.v
% svn rm trunk/memory_ddr3.v
D trunk/memory_ddr3.v
% cp /proj/ddr3/s39/s39a0c2762e5ac7f7 trunk/memory_ddr3.v
% svn add trunk/memory_ddr3.v
A trunk/memory_ddr3.v
% svn status trunk/memory_ddr3.v
R   trunk/memory_ddr3.v
% svn ci -m Correcting link trunk/memory_ddr3.v
svn: Commit failed (details follow):
svn: Entry '/home/mclaughl/nobackup/trunk/memory_ddr3.v' has 
unexpectedly changed special status

% svn --version
svn, version 1.6.15 (r1038135)
   compiled Jan  5 2011, 17:03:40

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.apache.org/
This product includes software developed by CollabNet 
(http://www.Collab.Net/).


The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using 
Neon.

  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

Server version:

% svn --version
svn, version 1.6.11 (r934486)
   compiled Apr 28 2010, 10:26:48

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet 
(http://www.Collab.Net/).


The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using 
Neon.

  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme


I can work around this by doing the replace in two transactions (delete, 
commit, add, commit), but shouldn't I be able to replace this file in one?


Does this warrant a bug report or is this user error?

--Mattius McLaughlin