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

Re: Issue 2015, diff summarize solution?

From: Martin Hauner <hauner_at_web.de>
Date: 2005-06-03 19:39:05 CEST

Julian Foad wrote:
> Martin Hauner wrote:
>
>> i created a partial patch for diff summarize, Issue 2015.
>
>
> Thanks for the patch, but before we think about the code let's discuss
> the requirements. This is the first I've heard of it.

There was thread a few days ago:

"show diffs in a gui client, how to get a list of changed files?"

My motivation behind it is to display a list of changed items in a gui
client when I like to see the difference between branches/tags. I can
then select an item from the list to run a "real" diff on it. So the
summarize is something like a diff preview.

Then there came up the already filed issue #2015 and Ben gave advise
where to start in the code.

> Quoting from http://subversion.tigris.org/issues/show_bug.cgi?id=2015
> [..]
>> I think the following information would be helpful to include in the
>> output:
> [..]
>> * Whether the item is a file, directory, (or anything else?)
>
>
> Certainly that would be nice, but I note that neither "svn diff" nor
> "svn status" currently make this distinction.

A gui client would like to know if it is a file or folder because it
doesn't make sense to run a visual diff on a folder.

>> * What was the revision prior to any changes
>> * What was the revision after all changes
>
> From the examples I see that you mean the revision in which the item
> had last been changed at the versions identified by LEFT and RIGHT
> respectively.
> [..]
> <a while later> I've now gone and read the discussion on the users
> list, where it is pointed out that CVS diff has such a summarise
> facility, and these revision numbers are the main information that it
> gives. So, OK, we probably want to give these.

A gui client needs the revisions so it can run diff on that file from
the preview if i like to see a detailed diff of the changed file.

>> * Who committed the last change
>
> What, for LEFT or RIGHT or both? I assume you mean for RIGHT only, on
> the assumption that that is often the newer version, with the
> possibility that that will have been the only change made to the item.
> That information doesn't seem a good fit for this feature. That
> information can be got from "svn list --verbose RIGHT".

We can drop that, it isn't too interesting from my gui client point of
view.

>> So, how would this look? Roughly following the "svn status" syntax,
>> here is a starting point:
>> First column says if the item was added, deleted, or otherwise changed
>> Second column determines if there were property changes
>
>
> So far so good.
>
>> Third column says if the item is a directory, or otherwise not a file
>
>
> We have no precedent for that, though it's not necessarily bad.
>
>> Remaining fields are variable width and delimited by spaces:
>> (with -v) Last revision number prior to change
>> (with -v) Last changed revision number
>> (with -v) Author of last changed revision
>
>
> If we have each of these, we should probably have it in exactly the same
> format as "svn status".
>
>> Path, relative to the given URLs.
>
>
> That's good if LEFT and RIGHT are directories, but what if they point
> directly to a file?

For diffs between branches/tags the filename is usually the same in
both urls. In case of a rename one could simply use the new name or
print both: /path/newfilename (/path/oldfilename)

-- 
Martin
Subcommander, http://subcommander.tigris.org
a crossplatform Win32/Unix/MacOSX svn gui client & diff/merge tool.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jun 3 19:47:06 2005

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