Author Topic: SVN - "Check for Modifications" lasts ages  (Read 8899 times)

Offline tiwag

  • Developer
  • Lives here!
  • *****
  • Posts: 1196
  • sailing away ...
    • tiwag.cb
SVN - "Check for Modifications" lasts ages
« on: December 08, 2005, 06:14:27 pm »
@ SVN guru's

maybe someone can me explain the following SVN behaviour and knows a solution ?

let me explain briefly, what i did:

1.) did a SVN-checkout of a recent CB - HEAD revision on machine A onto directory _SVN
2.) have built CB there and everytime when i do a SVN - "Check for Modifications" everything is fine working.
3.) copied the whole directory _SVN to another computer machine B
4.) when i do a SVN - "Check for Modifications" on machine B, it grabs on the harddisk for several (2-4) minutes until the
     lowest and highest Revisions are shown and i can check the Repository, on machine A it lasts only 4-7seconds !!
5.) when i do a SVN-checkout on machine B, then the SVN - "Check for Modifications" also lasts only a few seconds.

common to machine A and B:
SVN == TortoiseSVN 1.2.6 b4786, 
Subversion 1.2.3 installed,
WinXP SP2


my questions :

why is this so ?!
is there a known way how to move the working directory from one computer to another without the described drawback ?

Offline Urxae

  • Regular
  • ***
  • Posts: 376
Re: SVN - "Check for Modifications" lasts ages
« Reply #1 on: December 08, 2005, 06:52:14 pm »
The last-modification times probably got changed by the copying, so now SVN has to compare the contents of all the files to that of the base copies in the .svn dirs to find out if you changed anything.
Solutions:
  • Copy by some method that preserves last-modification times (some archiving utilities allow this I think), or
  • Run svn cleanup (TortoiseSVN --> Clean Up) once on the copy. This will perform the above check once (taking said 2-4 minutes I presume) and save the results. After that it should be like it was just checked out.

Offline tiwag

  • Developer
  • Lives here!
  • *****
  • Posts: 1196
  • sailing away ...
    • tiwag.cb
Re: SVN - "Check for Modifications" lasts ages
« Reply #2 on: December 08, 2005, 07:35:30 pm »
hi Urxae - thanks a lot !!!
your tip with svn cleanup works well

obviously packing 'n unpacking with winrar changes some fileinfo which is used by svn.

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: SVN - "Check for Modifications" lasts ages
« Reply #3 on: December 08, 2005, 11:00:53 pm »
Sidenote: Be very careful with naming your checkout directory _SVN. TortoiseSVN comes in two flavours, one that is "correct" (i.e. standards compliant), and another that is moronized to work better with some Windows versions -- this one uses the folder _SVN instead of .svn to store the versioning data.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline Urxae

  • Regular
  • ***
  • Posts: 376
Re: SVN - "Check for Modifications" lasts ages
« Reply #4 on: December 08, 2005, 11:16:57 pm »
Well, when someone is copying working copies between machines, I think it's fair to assume he didn't install the normal version on one computer and the 'moronized' version on the other. The working copies wouldn't be compatible anyway, he'd have found out soon enough ;). (Before that post even, as "Check for Modifications" wouldn't work at all on the wrong type of working copy)

Oh, and it's not done to work with some Windows versions, but to "work around the VS.NET bug with web projects".
I assume he's using Code::Blocks, so I don't think that would be an issue.
Though I don't know what they mean by "web projects" (and whether they can be done in Code::Blocks) I presume he wouldn't be using Code::Blocks if he couldn't achieve what he wanted to do with it.

Offline tiwag

  • Developer
  • Lives here!
  • *****
  • Posts: 1196
  • sailing away ...
    • tiwag.cb
Re: SVN - "Check for Modifications" lasts ages
« Reply #5 on: December 09, 2005, 08:45:27 am »
Sidenote: Be very careful with naming your checkout directory _SVN
....
thanks for the hint  :)