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

[PATCH] was: [WIP] Enable passing copyfrom information for the diff code when dealing with repository diffs.

From: Daniel Näslund <daniel_at_longitudo.com>
Date: Mon, 16 Aug 2010 15:09:49 +0200

I'm touching a lot of code here. Reviews would be much apprecieated.

[[[
Make the diff editor able to receive copyfrom information. Involves
passing down a 'send_copyfrom_args' to all RA implemtations.

Note that this commit merely allows the copyfrom args to be passed to
the client. They copyfrom information is not yet stored and used.

* subversion/libsvn_ra/ra_loader.c
  (svn_ra_do_diff4): New.
  (svn_ra_do_diff3): Move from here ..

* subversion/libsvn_ra/deprecated.c
  (svn_ra_do_diff3): .. To here.
  (svn_ra_do_diff2): Call svn_ra_do_diff3() instead of the vtable
    callback since the signature has changed.

* subversion/libsvn_ra/wrapper_template.h
  (compat_do_diff): Track the new 'send_copyfrom_args' parameter.

* subversion/libsvn_ra/ra_loader.h
  (svn_ra__vtable_t): Add 'send_copyfrom_args' parameter.

* subversion/libsvn_ra_local/ra_plugin.c
  (svn_ra_local__do_diff): Add 'send_copyfrom_args' parameter.

* subversion/tests/cmdline/diff_tests.py
  (test_list): Mark diff_backward_repos_wc_copy() as XFailing.
    The tested code currently does not handle copied paths
    with no text changes. Will be fixed in a follow-up.

* subversion/libsvn_ra_svn/protocol
  (...) Update the diff command description.

* subversion/libsvn_ra_svn/client.c
  (ra_svn_diff): Add 'send_copyfrom_args' to the command to be written.

* subversion/include/svn_ra.h
  (svn_ra_do_diff4): New.
  (svn_ra_do_diff3): Deprecate.

* subversion/libsvn_wc/diff.c
  (add_file): Add TODO about recording the copyfrom info and checking
    that the copyfrom revision is within the span of the diff operation.

* subversion/libsvn_client/repos_diff.c
  (add_file): Add TODO about recording the copyfrom info and checking
    that the copyfrom revision is within the span of the diff operation.

* subversion/libsvn_client/diff.c
  (diff_repos_repos,
   diff_repos_wc,
   diff_summarize_repos_repos): Replace svn_ra_do_diff3() with
    svn_ra_do_diff4().

* subversion/libsvn_ra_neon/ra_neon.h
  (svn_ra_neon__do_diff): Add 'send_copyfrom_args' parameter.

* subversion/libsvn_ra_neon/fetch.c
  (svn_ra_neon__do_diff): Add 'send_copyfrom_args' parameter.

* subversion/libsvn_ra_serf/update.c
  (svn_ra_serf__do_diff): Add 'send_copyfrom_args' parameter.

* subversion/libsvn_ra_serf/ra_serf.h
  (svn_ra_serf__do_diff): Add 'send_copyfrom_args' parameter.

* subversion/svnserve/serve.c
  (diff): Parse the parameters for send_copyfrom_param.

]]]

Thanks,
Daniel
Received on 2010-08-16 15:10:39 CEST

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.