Make 'svn diff' able to create 'git diffs' for added paths. At the same time, fix a bug where all subsequent diffs after a deleted file had git headers saying they were deleted.
Make 'svn diff' able to create 'git diffs' for added paths. At the
same time, fix a bug where all subsequent diffs after a deleted file had
git headers saying they were deleted.

With SVN_EXPERIMENTAL_PATCH defined, 'svn diff' can now create 
'git diffs' for added, modified and deleted paths. A patch for the
following operations to a greek-tree can successfully be applied to
another greek-tree using mercurial (a VCS using 'git diffs'):

echo "bar" > bar
svn add bar
svn rm A/D
echo "Changed 'iota'" >> iota
echo "foo" > foo
svn add foo
echo "Changed 'lambda'" >> A/B/lambda

* subversion/libsvn_client/diff.c
  (diff_cmd_baton): Add 'added' field.
  (diff_content_changed): Adjust the diff labels for the case of an
    added path. The labels are now correct for all existing use cases,
    e.g. copies and renames don't have diff labels.
  (diff_file_added): Set the 'added' field to TRUE before creating the
    diff and reset it to FALSE afterwards.
  (diff_file_deleted_with_diff): Set the deleted field to FALSE after
    the diff has been created.

jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion