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 开发者_C百科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.
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.
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
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?
These steps helped me to commit. To outgo that issue, they may help you too.
- Check Out your svn repository folder in an empty folder on desktop. C:\Users\ömer\Desktop\SpringWebTest
- open the folder that you checked out, then select and copy the .svn folder and paste it in your project workspace. C:\Users\ömer\workspaceLuna\SpringWebTest
- now changes should be detected, finally commit the changes to svn repository.
精彩评论