Reputation: 21575
I'm working with a program that writes data to fixed-size binary files that I store in a subversion archive.
The problem, however, is SVN (both the command-line client and TortiseSVN) thinks that since the size of the file didn't change, the file itself didn't change and it shouldn't commit it.
Is there a way to change what diffing method is used, or do I have to resort to hacks such as adding a dummy property to the files?
EDIT: Turns out the solution wasn't becuase of the file-size thing. I just automatically assumed that would be the case, since most nieve diffing altorithims do this all the time. [weasel words]
Upvotes: 4
Views: 2944
Reputation: 43575
See here for a description on how SVN determines whether a file is modified or not.
Upvotes: 6
Reputation: 16858
Are you sure the file has changed? i.e. different bytes. I'm pretty sure subversion uses a binary diff algorithm, and doesn't rely on file size.
Upvotes: 2
Reputation: 21575
Resoved on my own.
Turns out that the program that changed the files was also messing with the file's metadata in a way that confused SVN.
Upvotes: 2
Reputation: 354754
Are you absolutely sure that the files did change? Subversion can and does handle binary files and they have an actual diffing algorithm for them; it's not just a look at the file size. Subversion detects file changes to binary files just fine here, even though the size did not change.
Upvotes: 3