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

Possible data loss after commit on Win32

From: Francois Beausoleil <fbos_at_users.sourceforge.net>
Date: 2003-09-25 04:37:07 CEST

Hello everyone,

(Please bear with me, I know this is long, but there is a possible data
loss)

I believe I have suffered a data loss. Recovering the data will be easy,
but I would like to bring this to the attention of the head developers.
I
have suffered this bug because of the Win32 file access race issue. BTW,
is there an issue number for this ? Couldn't find it.

Presently, I use the branch style of development: make changes on
branch,
merge back to trunk. I also saw Subissue here on tigris.org, and I
decided
that it would be nice to try out the ideas, since no code exists.

So, I have the following repository layout:
rac/leadmanagement/
    trunk/
    branches/
    tags/
    issues/
        assigned/
            fbos/
                0003/
                    resolution/
        resolved/
        (and more)

The resolution/ folder is a copy of trunk/ at r1006.

r1008 was the result of merging the changes from 0003/resolution/ to
trunk/.
The next step was to close the #0003 issue. So, I entered the folder
where
I keep all my issues checked out (WC is rooted at issues/).

Then, I did the following:
svn delete assigned/fbos/0003/resolution
svn move assigned/fbos/0003 resolved

I was bitten quite a few times by the "access denied" problem on
Windows. I had to retry the delete and move two or three times each, all
the
while reverting when the command could not complete.

I finally managed to get my WC to the proper state, and initiated a
commit. Here are the results of the commit, and my attempts at getting
a clean WC afterwards:

("Accès refusé" means "Access denied")
("Le fichier existe" means "File already exists")

K:\jobnudge-issues>svn commit
Deleting assigned\fbos\0003
Adding resolved\0003
Deleting resolved\0003\resolution
Deleting resolved\0003\status.txt
svn: A problem occurred; see later errors for details
svn: Commit succeeded, but other errors follow:
svn: Accès refusé.

K:\jobnudge-issues>svn up
svn: Attempted to lock an already-locked dir
svn: working copy locked: .
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for
details)

K:\jobnudge-issues>svn cleanup
svn: Problem running log
svn: in directory 'assigned/fbos/0003'
svn: start_handler: error processing command 'committed' in
'assigned/fbos/0003'

svn: Le fichier existe.
svn: svn_io_file_open: can't open 'assigned/fbos/0003/.svn/KILLME'

K:\jobnudge-issues>svn up
svn: Attempted to lock an already-locked dir
svn: working copy locked: .
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for
details)

K:\jobnudge-issues>rd /s/q assigned\fbos\0003 resolved\0003

K:\jobnudge-issues>svn up
svn: Attempted to lock an already-locked dir
svn: working copy locked: .
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for
details)

K:\jobnudge-issues>svn cleanup

K:\jobnudge-issues>svn up
svn: Obstructed update
svn: failed to add dir 'resolved/0003':
object of the same name is already scheduled for addition

K:\jobnudge-issues>cd ..

K:\>rd /s/q jobnudge-issues

K:\>svn checkout
https://svn.hopto.org:8193/repos/rac/leadmanagement/issues/
jobnudge-issues
A jobnudge-issues\resolved
A jobnudge-issues\resolved\0001
...
A jobnudge-issues\resolved\0003
A jobnudge-issues\resolved\0007
...
A jobnudge-issues\assigned
A jobnudge-issues\assigned\fbos
A jobnudge-issues\assigned\fbos\0004
...
A jobnudge-issues\assigned\fbos\0005
...
A jobnudge-issues\assigned\fbos\0006
...
A jobnudge-issues\assigned\fbos\0009
...
 U jobnudge-issues
Checked out revision 1009.

You will note that the commit said "Commit succeeded, but ..." I really
believed Subversion, until I updated and saw that the files were not
there.
After the commit, in r1009, the resolved/0003 folder exists, but does not
contain the expected files. It should have contained a status.txt, which
does exist in r1008.

At this point, I loaded a hot-backup at r1004, and dumped/loaded
r1005:1008.
So, my working repository will be at r1008. I have a copy of the bad
repository, if anyone is interested. It is ~260 Mb, uncompressed.
Unfortunately, before I send that to anyone, I'll need a verbal NDA. My
customer requires an NDA.

Anyway, the repository is also available at
https://svn.hopto.org:8193/borked/rac/leadmanagement/

Again, I'll need a verbal NDA before I disclose a username/password for
you to
access the repository.

Environment:
C:\>svn --version
svn, version 0.30.0 (r7178)
   compiled Sep 24 2003, 20:10:05

Apache 2.0.47, Win 2K SP4.

Thanks !
François
Developer of Java Gui Builder
http://jgb.sourceforge.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Sep 25 04:38:07 2003

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.