Login | Register
My pages Projects Community openCollabNet

Discussions > issues > [Issue 4098] New - Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible)

subversion
Discussion topic

Back to topic list

[Issue 4098] New - Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible)

Author sesponda
Full name Sebastian Esponda
Date 2012-01-15 09:04:22 PST
Message http://subversion.ti​gris.org/issues/show​_bug.cgi?id=4098
                 Issue #|4098
                 Summary|Possible bug in 1.7: svn cleanup can't recover after a
                        | failed update (with 1.6 it was possible)
               Component|subversion
                 Version|1.7.x
                Platform|All
                     URL|
              OS/Version|Windows 7
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|unknown
             Assigned to|issues@subversion
             Reported by|sesponda






------- Additional comments from sesponda at tigris dot org Sun Jan 15 09:04:21 -0800 2012 -------
Hello there,

I'm posting this issue after some emails in the userlist.

We are facing the following issue with svn 1.7:

Exec summary:
- We need to incrementally checkout a multi-GB repository, which
contains unexpected files with invalid chars from time to time.
- We need to checkout as much as possible for analysis. We don't have
commit rights to fix the filenames.
- With svn 1.6, every time we faced that issue in our way, we could
clean up the aborted update command, and continue checking out the
other directories (just skipping the failed one).
- With svn 1.7, the last failed update leaves the _entire_ multiGB
local working copy in an unrecoverable state, being impossible to fix
it with svn cleanup, forcing us to check several hundred MBs again and
manually moving uncommitted changes.

Details:

1) Clean install of svn 1.7 on Windows 7 32 bits.
2) Clean checkout of multi-GB repo, using --deph immediates to avoid
checking out everything.
3) Checked out more dirs later.

4) Issue: one dir contains a file with a pipe (|) char in its name.

4.a) This is what happened with svn 1.6:
4.a.1) check out failed.
4.a.2) deleted the directory, run svn cleanup OK.
4.a.3) retry with "--set-depth empty" to avoid checking out that file.
4.a.4) Continue with the other directories.

4.b) This is what happens with svn 1.7.2 (r1207936)

4.b.1) check out fails (I've replaced some chars in the path below to
comply with confidentiality requirements).

svn: E720123: Can't move 'C:\work\aa\.svn​tmp\svn-60C55E31' to
'C:\work\aa\bb\cc\dd\ee | ff.pdf': The filename, directory name, or
volume label syntax is incorrect.

4.b.2) Attempt svn cleanup. Output:

svn: E155004: Working copy 'C:\work\aa\bb' locked.
svn: E155004: 'C:\work\aa' is already locked.
svn: E155037: Previous operation has not finished; run 'cleanup' if it
was interrupted
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)

4.b.3) Retry from parent dir:

c:\work\aa>svn cleanup
svn: E720123: Can't move 'C:\work\aa\.svn​tmp\svn-3C8DD0F0' to
'C:\work\aa\bb\cc\dd\ee | ff.pdf': The filename, directory name, or
volume label syntax is incorrect.

4.b.4) Each retry generates a new "svn-{4 bytes in hex}" file in
.svn\tmp, failing again.
4.b.5) From this point on, the situation is unrecoverable (meaning: if
it is, we don't know how...).

Insight: with 1.6, we just deleted the .svn db related to the
offending dir. With 1.7, there is one monolithic .svn db dir, and we
don't know how to say to svn clean up "just abort the last command, do
not try to finish the transaction".


PD: there is a similar issue posted in the old issue tracker (id
4024), but that one has been closed because the reproduction steps
were directly messing with the db. This is not the case.. in this
scenario, a failed update is retried by the cleanup command, being
impossible to recover from that.

PD2: snv -r0 didn't work: (svn: E155037:
Previous operation has not finished; run 'cleanup' if it was
interrupted)
This is the reason why I believe the local repo is in a
non-recoverable state, because any command request a clean up, but a
clean up fails.

« Previous message in topic | 1 of 10 | Next message in topic »

Messages

Show all messages in topic

[Issue 4098] New - Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible) sesponda Sebastian Esponda 2012-01-15 09:04:22 PST
     [Issue 4098] Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible) rhuijben Bert Huijben 2013-01-21 07:29:00 PST
     [Issue 4098] Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible) cmpilato C. Michael Pilato 2013-01-31 09:34:58 PST
     [Issue 4098] Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible) rhuijben Bert Huijben 2013-02-07 11:13:24 PST
     [Issue 4098] Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible) philip Philip Martin 2013-03-11 08:46:16 PDT
     [Issue 4098] Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible) rhuijben Bert Huijben 2013-03-19 10:51:52 PDT
     [Issue 4098] Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible) rhuijben Bert Huijben 2013-03-19 10:52:13 PDT
     [Issue 4098] Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible) rhuijben Bert Huijben 2013-03-27 06:02:59 PDT
     [Issue 4098] Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible) huttarl Lars Huttar 2014-03-17 17:26:59 PDT
     [Issue 4098] Possible bug in 1.7: svn cleanup can't recover after a failed update (with 1.6 it was possible) changil Changil Kim 2014-03-18 04:05:42 PDT
Messages per page: