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

Re: Diffing schedule-deleted files - what's going on?

From: Daniel Berlin <dberlin_at_dberlin.org>
Date: 2006-02-13 15:55:39 CET

On Mon, 2006-02-13 at 14:39 +0000, Malcolm Rowe wrote:
> On Sun, Feb 12, 2006 at 06:14:03PM -0500, Daniel Berlin wrote:
> > The only intention is that schedule delete files show as a diff from the
> > file to empty, which is what should be happening (because the entire
> > file is being deleted).
> >
>
> You mean that 'svn diff' by itself (a BASE:WORKING diff) should
> show the file being deleted?

Yes.

> That's fine; what I'm asking for is
> what a repos:WORKING diff should look like for a file that is marked
> schedule-deleted in the working copy.

That should show the file being deleted (by all of it's lines being
deleted), IMHO.

> I'd argue that if the file exists in the repository, but is
> schedule-delete in the working copy, we treat it the same way as if
> it were absent - that is, show an addition or deletion of the file's
> repository version, depending on direction.

This would be fine, since i believe it meets the "show the file being
deleted". Unless you meant something different by "show an addition or
deletion of the file's repository version".

>
> > Why do you believe deleting the file should not show up at all in diff?
> >
>
> Because in the reproduction script I quoted, the file doesn't exist in
> either the repository version, and is schedule-delete in the WORKING
> version (so shouldn't be mentioned in the output at all). The other
> thing I mentioned was repos:BASE diffs, which should ignore the state
> of schedule-delete files in WORKING.
>
> But note that if I change that, I break diff_test 27, which relies on
> getting an entirely empty 'diff' (that is, header only) for files that are
> non-existant in the repository and schedule-delete in the working copy.

This is different than the case above (where you said "exists in the
repository above"), however, and showing no diff in the case that it is
non-existent now in the repo, and schedule delete in the WC, is fine,
for a repos:WORKING diff.
>
> > If you apply the diff that results using patch, it won't DTRT, for
> > example.
> >
>
> If that's the main criteria, just let me know. I'm just trying to
> work out if schedule-delete files are intended to be handled in any
> non-obvious manner.

Originally, doing base:WORKING in this case actually used to cause an
error, because we would pass a file to diff that didn't exist :(

Just make sure to try what you are doing with an external diff, since
that tends to be more fragile in this regard.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Feb 13 15:58:46 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.