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

inconsistency working-copy

From: gerhard oettl <gerhard.oettl.ml_at_oesoft.at>
Date: 2004-07-23 20:29:34 CEST

hallo

i think i have recovered the reason in "part 2" but can not think what
happened and why.

*** part 1 ***

i commited rev 27 on july 22 i did not remember a error. May be there
was one, but if a commit is atomic there shouldnt be any, because rev
27 was commited - see later.

i accidently destroyd nearly all files in the working copy -> no
problem i have the repository (i thought)

surprise: svn update failed because the wc was locked
svn cleanup was suggested (and i did it - maybe this causes
some of the problems?).

when doing a svn update now (with and without the -r option) i get:

gerhard@gerhardnb:~/sadochr$ svn -r 27 update
svn: Can't copy '.svn/text-base/tables1950.html.svn-base' to '.svn/tmp/text-base/tables1950.html.svn-base.tmp': No such file or directory

i investigated a little with "svn list -v" and would say:

- i did the first commit for this wc on apr 13 (rev 10)
- the second commit on may 26 (rev 26)
  and in this revision i deleted (svn rm) the file tables1950.html
  because in rev 26 it is not present and this would fit
  to my rememberings on that what (should) happend
- the third commit on july 22

if i do a "svn update" svn tries to reconstruct tables1950.html although
it does not exist wheather in the repository nor in the working copy

a sniplet of .svn/entries may help:
<entry
   name="tables1950.html"
   kind="file"
   deleted="true"
   revision="26"/>
<entry
   committed-rev="10"
   name="044_1912.base"
   text-time="2004-07-23T15:13:19.000000Z"
   committed-date="2004-04-13T20:55:23.642862Z"
   checksum="33e1aa5465eb7f584eddff6a65c9cbc7"
   last-author="gerhard"
   kind="file"
   revision="10"/>
<entry
   committed-rev="27"
   name="040_1908.base"
   text-time="2004-07-23T15:13:19.000000Z"
   committed-date="2004-07-22T19:26:56.874769Z"
   checksum="d0801ab45e9ce40683318c259701f831"
   last-author="gerhard"
   kind="file"
   prop-time="2004-07-23T15:44:23.000000Z"/>

*** part 2 ***

now svn stat says:
? 900_demoscans.base
so i did a svn add 900_demoscans.base
but when i try to commit i get a

Adding 900_demoscans.base
svn: Commit failed (details follow):
svn: File already exists: filesystem '/home/gerhard/SVNROOT/db', transaction '18', path '/sadochronik/main/900_demoscans.base'

in the .svn/entries of my backup i found:
<entry
   name="900_demoscans.base"
   text-time="2004-07-22T08:41:31.000000Z"
   copied="true"
   kind="file"
   copyfrom-rev="26"
   schedule="add"
   copyfrom-url="file:///home/gerhard/SVNROOT/sadochronik/main/demoscans.base"/>

the current entry is:
<entry
   name="900_demoscans.base"
   kind="file"
   schedule="add"
   revision="0"/>

and svn list -v file:///home/gerhard/SVNROOT/sadochronik/main/900_demoscans.base says
     27 gerhard 689 Jul 22 21:26 900_demoscans.base

it looks like the commit from july 22 was (mostly?) done, but the
administrative files in the wc were not updated. In the backup (before
the svn cleanup) there are some things that indicate to this:

.svn/tmp/text-base is full of files
in .svn/ there are some .tmp files:
-rw-r--r-- 1 gerhard gerhard 0 2004-07-23 17:04 000_1start.base.2.tmp
-rw-r--r-- 1 gerhard gerhard 0 2004-07-23 17:04 000_1start.base.2.tmp.tmp
-rw-r--r-- 1 gerhard gerhard 0 2004-07-22 21:26 000_1start.base.tmp
-rw-r--r-- 1 gerhard gerhard 0 2004-07-22 21:26 000_1start.base.tmp.tmp

and the .svn/log file contains:
<modify-entry
   committed-rev="27"
   name="000_1start.base"
   committed-date="2004-07-22T19:26:56.874769Z"
   last-author="gerhard"/>
<modify-entry
   name="000_1start.base"
   checksum="a35213cfef4ab28b024b3a211d2be909"/>
<committed
   name="000_1start.base"
   revision="27"/>

i remember (but not exactly!) i operated a little confusing
svn mv start.base 000_start.base
then a svn revert start.base because i prefered another name
then a svn mv start.base 000_1start.base
and at last reverted again and work with the original
filename "start.base"

yes - it was not my day, but i think svn is robust enough
to digest things like this without crash.
sorry that i cannot exactly reproduce.

***

svn --version
svn, version 1.0.0
   compiled Feb 24 2004, 20:38:43

local repository (no networkerror)
command line client with file:/// urls

debian sarge/testing

i did backups (tgz) of wc (58 mb) and repository (31 mb) and can put
them into the web for download if anyone is interested.

***

i did a full backup now again

then i edit .svn/entries file manualy (and was very nervios)
- delete all entries with deleted="true" in rev 26
- delete all entries with schedule="add" but already added in rev 27
- delete (rename) the files in the wc that were added in rev 27

and did a svn update
now it worked as expected

***

is there a "clean" way to solve such problems?
i think (have to) editing the .svn/entries file by hand is not a realy
gracefully solution and checking out in a new wc also not.

gerhard

-- 
gerhard oettl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jul 23 22:54:18 2004

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