You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Moisei <mo...@gmail.com> on 2005/06/04 21:25:48 UTC

bug report on svn rename [was Discontinuing the use of SVN.]

I do not reproduce the checksum error
but I confirm the working copy becomes un-recoverable after such a renames.

Best Regards,
Moisei.

 here is the output of the scipt attached below:

Checked out revision 0.
Adding         reproduce\wc\foo.txt
Transmitting file data .
Committed revision 1.
A         D:\temp\reproduce\wc\boo.txt
D         D:\temp\reproduce\wc\foo.txt

D:\temp>svn commit "D:/temp/reproduce\wc" -m "now the warning on commit" 
svn: Commit succeeded, but other errors follow:
svn: Error bumping revisions post-commit (details follow):
svn: In directory 'D:\temp\reproduce\wc'
svn: Error processing command 'committed' in 'D:\temp\reproduce\wc'
svn: Error replacing text-base of 'boo.txt'
svn: Can't copy 'D:\temp\reproduce\wc\boo.txt' to
'D:\temp\reproduce\wc\.svn\tmp\boo.txt.tmp.tmp': The system cannot
find the file specified.
Adding         reproduce\wc\boo.txt
Deleting       reproduce\wc\foo.txt

D:\temp>svn up"D:/temp/reproduce\wc" 
Unknown command: 'upD:/temp/reproduce\wc'
Type 'svn help' for usage.

D:\temp>svn cleanup "D:/temp/reproduce\wc" 
svn: In directory 'D:\temp\reproduce\wc'
svn: Error processing command 'committed' in 'D:\temp\reproduce\wc'
svn: Error replacing text-base of 'boo.txt'
svn: Can't copy 'D:\temp\reproduce\wc\boo.txt' to
'D:\temp\reproduce\wc\.svn\tmp\boo.txt.2.tmp.tmp': The system cannot
find the file specified.



please find a transcript below:

@echo off
REM CHANGE TO THE TEMP FOLDER WHERE TEST WILL BE RUN
REM NOTE the slashes must be a "UNIX" slashes
set tstDir=D:/temp/reproduce

REM NO NEED TO CHANGE ANYTHING BELOW
svn --version
rem prepare test
rmdir /S /Q "%tstDir%" > nul
mkdir "%tstDir%" > nul
rem prepare repo
mkdir "%tstDir%\repo"  > nul
svnadmin create "%tstDir%\repo\tst"
rem prepare wc and add 1 file
set wc=%tstDir%\wc
mkdir "%wc%"  > nul
svn checkout "file:///%tstDir%/repo/tst" "%wc%"
set foo=%wc%\foo.txt
set boo=%wc%\boo.txt
echo blabla > "%foo%"
svn add "%foo%"  > nul
svn commit "%foo%" -m "commit file foo"
svn rename "%foo%" "%boo%"
mv "%boo%" "%foo%"
@echo on
svn commit "%wc%" -m "now the warning on commit"
svn up"%wc%"
svn cleanup "%wc%"


2005/6/4, Ben Collins-Sussman <su...@collab.net>:
> 
> On Jun 4, 2005, at 12:36 PM, Robert Sfeir wrote:
> > I can cause it manually with svn move, let the
> > file move to a new location, then copy the file manually back into the
> > directory I moved it from and try to commit.  That would cause a
> > checksum (at least it did last time I tried it which was a long while
> > back) and that is caused by user error, since the user is not supposed
> > to do that, and if you've worked with CVS for a long time, this is the
> > first thing you think of doing to revert a change or undo a move.
> 
> Whoa, hold on... is this an actual recipe for a bug in Subversion?
> 
> Historically, we've only ever seen checksum errors due to external
> forces:  bad disk/network/memory, or because some 3rd party program
> has corrupted the .svn/text-base/ files.
> 
> If you're saying that you have found a way to make Subversion produce
> checksum errors *internally*?
> 
> I don't understand your reproduction description above.  Can you give
> us a transcript of the exact commands that cause the problem?
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
> 
> 


-- 
Best Regards,
Moisei

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


Re: bug report on svn rename [was Discontinuing the use of SVN.]

Posted by allan juul <al...@muly.dk>.
Moisei wrote:
> I do not reproduce the checksum error
> but I confirm the working copy becomes un-recoverable after such a renames.
> 
> Best Regards,
> Moisei.
> 
>  here is the output of the scipt attached below:
> 
> Checked out revision 0.
> Adding         reproduce\wc\foo.txt
> Transmitting file data .
> Committed revision 1.
> A         D:\temp\reproduce\wc\boo.txt
> D         D:\temp\reproduce\wc\foo.txt
> 
> D:\temp>svn commit "D:/temp/reproduce\wc" -m "now the warning on commit" 
> svn: Commit succeeded, but other errors follow:
> svn: Error bumping revisions post-commit (details follow):
> svn: In directory 'D:\temp\reproduce\wc'
> svn: Error processing command 'committed' in 'D:\temp\reproduce\wc'
> svn: Error replacing text-base of 'boo.txt'
> svn: Can't copy 'D:\temp\reproduce\wc\boo.txt' to
> 'D:\temp\reproduce\wc\.svn\tmp\boo.txt.tmp.tmp': The system cannot
> find the file specified.
> Adding         reproduce\wc\boo.txt
> Deleting       reproduce\wc\foo.txt
> 
> D:\temp>svn up"D:/temp/reproduce\wc" 
> Unknown command: 'upD:/temp/reproduce\wc'
> Type 'svn help' for usage.
> 
> D:\temp>svn cleanup "D:/temp/reproduce\wc" 
> svn: In directory 'D:\temp\reproduce\wc'
> svn: Error processing command 'committed' in 'D:\temp\reproduce\wc'
> svn: Error replacing text-base of 'boo.txt'
> svn: Can't copy 'D:\temp\reproduce\wc\boo.txt' to
> 'D:\temp\reproduce\wc\.svn\tmp\boo.txt.2.tmp.tmp': The system cannot
> find the file specified.

this line in your sctipt
svn up"%wc%"

should probably be
svn up "%wc%"


./allan

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

Re: bug report on svn rename [was Discontinuing the use of SVN.]

Posted by Max Bowsher <ma...@ukf.net>.
Moisei wrote:
> I do not reproduce the checksum error
> but I confirm the working copy becomes un-recoverable after such a 
> renames.
...
> @echo off
> REM CHANGE TO THE TEMP FOLDER WHERE TEST WILL BE RUN
...

Thanks for the script!

I've minimalized the reproduction: The key is:

1. Schedule a file for addition.
2. Remove the file.
3. Try to commit.

In Bourne shell form:

[[[
#!/bin/sh

set -ex

URL="file://`pwd`/tmp-repos"

rm -rf tmp-repos tmp-wc

svnadmin create --fs-type=fsfs tmp-repos
svn co "$URL" tmp-wc

cd tmp-wc

echo blabla > foo.txt
svn add foo.txt
rm foo.txt
svn ci -m,
]]]

Max.


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