> > > > 3. Running the above diff also outputs lines related to some files that > > > > I know I never modifed, but did recive updates via the merge. Oddly, > > > > these are all binary files. > > > > > > > > Index: Path/to/bin.dat > > > > =================================================================== > > > > Cannot display: file marked as a binary type. > > > > svn:mime-type = application/octet-stream > > > > > > > > What does this indicate? > > > > > > Not sure. Did these files also receive mergeinfo changes perhaps? > > > > > > No, those files do not have any mergeinfo at all. At least for the couple > > I checked. They do have changes brought in by the merge, though. > > > > Does this make any sense? > > Ah, in that case the files are modified so they show up in diff output. > Are you confused by the fact that Subversion cannot display diffs > for arbitrary binary files? It only supports diffing text files. >
I don't _think_ I'm getting confused... I don't expect to even see those files listed in the diff in the first place. To clarify, the basic use case is: 1. I forked a branch from /branches/boring_new_stuff to /branches/awsome_stuff. 2. /branches/boring_new_stuff development has continued full speed. (300+ files changed over many commits) 3. I made some changes to /branches/awsome_stuff. (15+ files changed over 5+ commits) 4. Ran "svn merge ^/branches/boring_new_stuff" in my "awsome_stuff" WC. Did not commit. 5. Thus, my WC should exactly reflect the content of /branches/boring_new_stuff, _except_ for my branch's modifications. 6. Ran "svn diff --old=^/branches/boring_new_stuff --new=." I expected that step 6 would produce a small diff that is the culmination of content changes made to /branches/awsome_stuff vs. /branches/boring_new_stuff. However, two unexpected things happened: 1. I see hundreds of spurious svn:mergeinfo entries. 2. A few files that changed in /trunk but that I _never_ modifed in /branches/awsome_stuff are also included in the diff. Oddly, these are all binary files. Is #2 a bug? The larger reason for this is in the case of vendor drops. For instance: 1. A new library has been added as /vendor/libcomplex/1.0 tag. 2. The above has been svn copied to: /project/trunk/libcomplex 3. Patches to the project-local copy of libcomplex have been made. (per red-bean book.) 4. <time goes by> 5. Vendor drop via current -> /vendor/libcomplex/2.0 tag is added to the repo. 6. Vendor changes are merged (but not commited) to a working copy based on: /project/branches/awsomestuff/libcomplex Now, I want to test and review the old 1.0-era patches to the libcomplex-2.0 code prior to committing the merge. Maybe they will be kept. Maybe changed. Maybe removed.