Hi!
I'm touching a lot of code here. The callbacks not only gets called from
the outside but they call each other too. I had to make some temporary
wc_ctx objects to be passed around. The fact that there are three(!)
different diff-functions got me a bit confused. The fact that one of
them is placed in libsvn_client though it uses wc_diff_callbacks got me
even more confused.
Passes make check with no failures.
[[[
As part of WC-NG, replace adm_access parameter with wc_ctx in
wc_diff_callback file_changed().
* subversion/include/svn_wc.h
(file_changed): Replaced adm_access parameter with wc_ctx.
* subversion/libsvn_wc_deprecated.c
(wrap_4to3_file_changed): Replaced adm_access parameter with wc_ctx.
Create an adm_access for calling older callbacks.
* subversion/libsvn_client/repos_diff.c
(edit_baton): Add wc_ctx field.
(close_file): Call file_changed() callback with wc_ctx instead of adm_access.
(svn_client__get_diff_editor): Add ctx parameter. Set eb->wc_ctx to
ctx->wc_ctx.
* subversion/libsvn_client/client.h
(svn_client__get_diff_editor): Add ctx parameter.
* subversion/libsvn_client/merge.c
(merge_file_changed): Replaced adm_access parameter with wc_ctx.
Retrieve adm_access from wc_ctx for calling other wc functions.
(drive_merge_report_editor): Add ctx parameter when calling
svn_client__get_diff_editor().
(do_file_merge): Replace adm_access parameter with ctx->wc_ctx when
calling merge_file_changed().
* subversion/libsvn_client/diff.c
(diff_file_changed): Replace adm_access parameter with wc_ctx. Add
temporary adm_access for calling diff_props_changed(). Set to NULL since
it was called with NULL.
(diff_file_added): Create temporary wc_ctx for calling
diff_file_changed(). Should be removed when diff_file_added() uses
wc_ctx.
(diff_file_deleted_with_diff): Create temporary wc_ctx for calling
diff_file_changed(). Should be removed when
diff_file_deleted_with_diff() uses wc_ctx.
(diff_repos_repos): Add ctx parameter when calling
svn_client__get_diff_editor().
]]]
Daniel Näslund
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2394783
Received on 2009-09-14 22:53:50 CEST