svn diff when files are marked with "history scheduled with commit"
I have changes on a branch that I have merged to trunk in my working directory. Svn stat shows the correct list of changed files. However, the "svn stat" outpu开发者_JAVA百科t includes a "+" in the history scheduled for commit on each file added new to the branch.
A + src\main\java\com....java
When I run "svn diff", the added files that have the "+" are not included in the patch output.
This seems broken. If a file is marked as added, then it's entire contents should be in the diff output. I tried passing the --notice-ancestry. There was no change to the diff output. The closest I can find to the same problem is these comments regarding copied/moved files
Does someone know how to get SVN to includes these files in the diff output?
I just tried an external diff program as suggested by this questions answer, but it didn't work for me.
When version 1.7 is released, svn diff
will have a --show-copies-as-adds
switch for that purpose. That's a good indication that versions through 1.6 don't have that ability.
The + character in the output of svn status indicates that the file has "History scheduled with commit". This means that the file is not actually a new file, but actually a direct descendant of some other file in the Subversion repository.
This means that there should be no output in svn diff, since the file has not actually changed. If you were to make some local modifications to the file, they would appear in the svn diff output.
if you "svn mv fileA fileB". there will be + sign near fileB. I think the + sign means the actual file content has not been changed, so it does not show up in svn diff. In this case, it is just the file name has changed.
精彩评论