[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Problem with diffing against schedule-delete files

From: Daniel Berlin <dberlin_at_dberlin.org>
Date: 2005-11-04 16:56:38 CET

The following sequence of steps:

svn co svn://gcc.gnu.org/svn/gcc/branches/sh-elf-4_1-branch
cd sh-elf-4_1-branch
svn merge -r106276:106279 svn://gcc.gnu.org/svn/gcc/trunk .
svn diff --old svn://gcc.gnu.org/svn/gcc/trunk/gcc --new gcc

will cause us to try to diff against a non-existence gcc/.cvsignore file
(both regular and external diff error out).

This happens on 1.4 and 1.3

This is because the delete_entry handler in libsvn_wc/diff.c used as a
editor callback doesn't check whether the wc entry it's diffing against
been schedule-delete'd, and if so, use the empty file.

Since this is a url->wc diff, this is the editor function used, NOT the
regular path through file_diff which would have handled this case.
There is no obvious way to drive this diff through a path that already
handles schedule_delete right.

The attached patch fixes it, which i'm committing and will nominate for


Fix url->wc diff against schedule-delete files.

* subversion/libsvn_wc/diff.c
  (delete_entry): If the entry is marked for deletion, use
  the empty file.


To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Received on Fri Nov 4 16:57:06 2005

This is an archived mail posted to the Subversion Dev mailing list.