4
votes

Have a Visual Studio 2008 project running on Windows 7 64 Pro with the following installed:

TortoiseSVN 1.7.7, Build 22907 - 64 bit

I'm recently upgraded from 1.6 to see if it would alleviate the issue we're having, but to no avail.

Anyways, the issue:

For this particular project we use CodeSmith Generator to generate our netTiers layers for our application. These files are generated to a separate directory, and only the necessary files are copied over (we don't copy all, because we don't want our partial files to be overwritten) to our working SVN copy of the project.

Once those files are copied over, we compile, test locally, and then commit to SVN when stable. This has worked fine on this project for more than a year.

Recently, one of our developers generated the code as the norm. He copied it over only to find that TortoiseSVN did not find any files changed. Odd, considering a new field was added to the database, and that usually affects quite a few files. He then did a "Diff with previous version" via the TortoiseSVN Explorer commands to confirm or deny the issue.

However, when doing a diff between the previous version and the working copy version, he found that the file has, in fact, changed. For some reason TortoiseSVN isn't seeing that the file has changed.

So, I wanted to give it my scout's best to determine if this was some isolated issue on his machine or something more. I killed my working copy, rechecked out, and tried doing the same steps. Same issue. TortoiseSVN was not picking up the changes.

Now, just as an experiment, I opened up the file and copied over the contents manually. In this case, TortoiseSVN picked up the change perfectly.

The issue with doing this manually, of course, is that it relies on the developer having to know every single file that was changed...and in addition takes a lot more time due to the sheer number of files updated.

So, we're at our wits' end here. Is this a bug? Some setting that might have been tricked? An event not firing to notify TortoiseSVN of the update?

Thanks guys, -Steve

2
Did you try turning it off and then back on again?Ryan
Yes. This has happened on multiple PC's, now.StephenPAdams
The behavior you describe is indeed strange. It would be helpful if you update your post with precise reproduction script and a couple of screenshots to troubleshoot the issue.bahrep
TortoiseSVN isn't seeing that the file has changed - by that do you mean that it doesn't show up in the commit dialogue, or that the overlay icons in explorer aren't going from green to red? Because the overlay icons are often behind reality in my use of SVN, to the point that I ignore them completely.Matt Whitfield
Is this reproducible? I thought TortoiseSVN used a hook to monitor for file changes. If so, it is possible that something went wrong and the computer just needs to be restarted so everything can wire back up.Charlie

2 Answers

4
votes

Windows 7 doesn't change the "last modified" timestamp when a file is copied over. According to TortoiseSVN's FAQ page, svn's first step in seeing if a file is modified, is to check the "Last Modified" timestamp as opposed to something like Git that does a check sum. Because the directory is showing that it's modified, but no file is showing up as modified, this could be because you are copying the file over.

Try opening one of the files that was modified, adding something trivial, like a whitespace, closing it, then trying to check for modified files again. My bet is this will cause it to show up

1
votes

This was an unfortunate developer error, where they not only already generated the changes int the past, but didn't make that knowledge known. Simply ended up confusing themselves as well as others in the process.