Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

svn diff when files are marked with "history scheduled with commit"

Tags:

merge

svn

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 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.

like image 746
James A Wilson Avatar asked Feb 01 '10 16:02

James A Wilson


2 Answers

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.

like image 35
Avi Avatar answered Oct 22 '22 15:10

Avi


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.

like image 52
Dingo Avatar answered Oct 22 '22 16:10

Dingo