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

Re: [PATCH] Issue #2996: Diff abort fix

From: Keegan Dunn <keegandunn_at_gmail.com>
Date: 2007-11-13 07:43:39 CET

On Nov 2, 2007 8:12 AM, Hyrum K. Wright <hyrum_wright@mail.utexas.edu> wrote:
> I think the problem is a little deeper than just replacing the abort.
> The abort is occurring in diff_repos_wc(), and it ensures that the
> internal API for that function isn't violated. Somewhere, we're
> violating it, and *that's* the real problem.
>
> From a little bit of investigation, it appears that check_paths(),
> called from do_diff(), is saying that path1 (in do_diff()) is a working
> copy path, when it really isn't. Could it be because we are using the
> BASE revision keyword, which is a local keyword, and that is causing a
> problem somewhere? If so, that might be the error, which should be
> caught, and probably documented somewhere.
>
> Keegan, would you like to look at this and see what you can come up with?

Alrighty, here's patch attempt number two. As I understand it, when
running a svn diff against a base revision, a working path must be
specified as the target, not a URL. I backtracked up the function
chain to find the earliest point it seemed most sensible to test for
this situation, which left me with this little patch in
subversion/svn/diff-cmd.c. It averts the abort and instead displays
an error message. All tests under "make check" passed.

[[[
Fix issue #2996: Catch improper argument to diff against base.revision.

*subversion/svn/diff-cmd.c
 (svn_cl__diff): Added block to throw an error in the event of invalid
arguments to diff.
]]]

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

Received on Tue Nov 13 07:43:53 2007

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