Thanks for the report. It would be great if you could file an issue and write a 
test for this problem.

- Julian


Dmitry Pavlenko wrote on 2018-07-11:
> The following scenario fails for me: delete a file, create a symlink with the 
> same name, run "svn diff". Instead of displaying the diff, SVN tries to read 
> the link content. If "NOWHERE" variable is set to the file name, the symlink 
> refers to itself, showing another error.
> 
> Instead I would expect something with "-" and "+" markers. If you uncomment
> #echo "link $NOWHERE" > $WC_PATH/trunk/file
> 
> and comment out "ln -s" call, the script will display approximately what I 
> would expect (but without svn:special).
> 
> I'm not sure if this is a known bug, sorry for reporting something known if 
> it 
> is.
> 
> Locally I also have similar scenario failing in another way: before reading 
> the symlink it displays deletion of "trunk/trunk/symlink" (yes, unexpectedly 
> double "trunk", in my local test the file is called "symlink"). But I think 
> it's the same issue. If it will still fail after this one is fixed, I'll 
> analyze why.
> 
> 
> 
> #!/bin/sh
> 
> SVN=svn
> 
> #1. Create an empty SVN repository.
> 
> REPOSITORY_PATH="$PWD/svn.repo"
> 
> svnadmin create "$REPOSITORY_PATH"
> 
> # 2. Add a file to the repository.
> 
> WC_PATH="/tmp/wc"
> REPOSITORY_URL="file://$REPOSITORY_PATH"
> 
> $SVN co $REPOSITORY_URL $WC_PATH
> $SVN mkdir $WC_PATH/trunk
> 
> echo "content" > $WC_PATH/trunk/file
> 
> $SVN add $WC_PATH/trunk/file
> $SVN commit -m "A file added." $WC_PATH
> 
> # 3. Replace the file with a symlink pointing to nowhere (or to itself --- 
> for 
> another kind of error)
> 
> NOWHERE="changed/path"
> #NOWHERE="file"
> 
> rm $WC_PATH/trunk/file
> 
> ln -s $NOWHERE $WC_PATH/trunk/file
> 
> # By the way: uncomment the following line and comment out the previous one 
> for comparison
> #echo "link $NOWHERE" > $WC_PATH/trunk/file
> 
> # 4. Create diff between repository HEAD and working copy:
> 
> $SVN diff --git $REPOSITORY_URL $WC_PATH
> 
> echo ""
> echo ""
> echo "-----------------------------------------"
> echo "If you see something like"
> echo "-content"
> echo "+link $NOWHERE"
> echo "And svn:special property set to '*'"
> echo "Then consider test passed"
> echo "-----------------------------------------"

Reply via email to