James A Wilson
James A Wilson

Reputation: 14691

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" output 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 its 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.

Upvotes: 18

Views: 12729

Answers (4)

Arun
Arun

Reputation: 1

After merging two branches like: A2 with A1 branch and some new Files added in A1 branch and committed. After merge it shows new files as already added to the version control with symbol '+' so delete newly added files in A2 branch and add again. now add to version control then it allows you to raise a review

Upvotes: 0

jiawen
jiawen

Reputation: 1208

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.

Upvotes: 0

Dingo
Dingo

Reputation: 3395

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.

Upvotes: 17

Avi
Avi

Reputation: 20142

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.

Upvotes: 15

Related Questions