Martin Hauner wrote:
> This is about getting a usable gui interface for diffs between urls
> like tags or branches.
> A usable interface for a gui client is to present a list of modified
> items between the diff targets as a diff preview. The user can then
> decide on which item she likes to see a detailed diff in a visual diff
> tool by running a normal diff on the items of the list.
And, it has to be much faster than doing the normal diff. It's not
necessary to actually diff the files - the server would simply need to
provide the requested information, *not* do the diff and extract the
information from that (I can do that myself in a GUI client, what's
important here is speed!).
> Implementation for gui:
> To get the information for the gui use case i would like to see two
> new api calls svn_client_diff_preview/svn_client_diff_preview_peg or
> new parameters to svn_client_diff2/svn_client_diff_peg2 to return the
> preview info. I think it would be nice to provide this info through
> an svn_client_status like callback and structure.
> typedef void (*svn_diff_preview_func_t) (void *preview_baton,
> svn_diff_preview_t *diff);
> typedef struct svn_diff_preview_t
> /** file or dir */
> svn_node_kind_t node_kind;
> /** item paths, relative to the old diff target and new diff target */
> const char* path_old;
> const char* path_new;
> /** the mime types of old and new */
> const char *mimetype_old,
> const char *mimetype_new,
> /** change kind: unchanged, added, modified or deleted */
> svn_preview_kind_t preview_kind;
> /** properties changed? */
> svn_boolean_t props_changed;
/** text changed? /*
This is needed, since there could be changes to the properties *and* the
text in one revision.
> } svn_diff_preview_t;
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.tigris.org
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Wed Jun 8 23:13:22 2005