Reputation: 2235
I've been working with SVN successfully for a few weeks however I recently received an updated version of the code I'm working on from our vendor. I overwrote my local installation with the updated files and was expecting to be able to commit the updates files and everyone else would then get the updated version. However, when I overwrite my local files, SVN does not detect that the files have been updated. I'm using Tortoise SVN if that matters.
Update: I'm not copying over a working copy of the updated code (there are no .svn folders in the source.) However, I have noticed that the last modified dates on the files are older than the ones they replaced - Would that prevent SVN from detecting a change? Also the majority of the files are encrypted using ioncube.
Upvotes: 1
Views: 6896
Reputation: 566
These steps helped me to commit. To outgo that issue, they may help you too.
Upvotes: 0
Reputation: 16848
I have noticed that the last modified dates on the files are older than the ones they replaced
Like most other people, I would suspect that the files haven't changed. However, if they really have, does Subversion detect changes if you touch the file to update the last modified date?
Upvotes: 0
Reputation: 368
Make sure you're not overwriting the .svn folder as well.
If you delete this folder or replace it with other folder you will be having some synchronization errors and/or svn integrity issues.
What you can do (and what I normally do with problems like this one) is to clear all .svn folders from your project filesystem and re-commit everything.
Please take a look at this article: http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/
And this one: http://www.anyexample.com/linux_bsd/bash/recursively_delete__svn_directories.xml
Upvotes: 0
Reputation: 11101
The local svn data is inside every directory of you working copy (in the .svn directory under every directory). So if you have copied a directory from the new code over a directory of your code, including subdirectories, you may have copied their .svn directories as well. That means svn can't know that it is changed.
If you want to do a recursive replace of code in a directory, you should make sure that the code you paste onto your existing code isnt itself a working copy, or that it has been stripped from .svn directories. To get a non-wc copy of a repository you can use svn export.
The latest version of subversion solves this problem by storing metadata only in the wc root, rather than in all subdirectories.
Upvotes: 2