You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ivan Zhakov <ch...@gmail.com> on 2005/08/24 12:00:18 UTC

[PATCH] Revv svn_client_commit_item_t structure V2

Hi,
There is revised version of patch which I recently posted. I have
fixed log message and long lines. Switched to use
APR_ARRAY_PUSH/APR_ARRAY_IDX macro. And now compatible structure in
function svn_client__get_log_msg allocated in subpool.

[[
Isolate svn_client_commit_item_t.revision and add
svn_client_commit_item_t.copyfrom_rev. It's required for "replace from
copy operations".

* subversion/clients/cmdline/cl.h
  (svn_cl__get_log_message): Fix documentation.

* subversion/clients/cmdline/commit-cmd.c
* subversion/clients/cmdline/copy-cmd.c
* subversion/clients/cmdline/delete-cmd.c
* subversion/clients/cmdline/import-cmd.c
* subversion/clients/cmdline/main.c
* subversion/clients/cmdline/mkdir-cmd.c
* subversion/clients/cmdline/move-cmd.c
  (svn_cl__commit,svn_cl__copy, svn_cl__delete,
  svn_cl__import, main, svn_cl__mkdir, svn_cl_move): Use
  ctx->log_msg_func2/ctx->log_msg_baton2 instead of
  ctx->log_msg_func/ctx->log_msg_baton.

* subversion/clients/cmdline/util.c
  (svn_cl__get_log_message): Turn function into svn_client_get_commit_log2_t
  type. Use APR_ARRAY_IDX macro.

* subversion/include/svn_client.h:
  (svn_client_commit_item2_t): New structure, copied from 
  svn_client_commit_item2_t with addition field copyfrom_rev.
  (svn_client_commit_item_t): Deprecate.
  (svn_client_get_commit_log2_t): Revv API, new callback accepts array of
  svn_client_get_commit_log2_t.
  (svn_client_get_commit_log_t): Deprecate.
  (svn_client_ctx_t): Add new log_msg_func2/log_msg_batton2 members for new
  API. Deprecate log_msg_func/log_msg_batton.

* subversion/libsvn_client/add.c
  (mkdir_urls): Use function svn_client__get_log_msg() instead of direct call
  to ctx->log_msg_func.

* subversion/libsvn_client/client.h
  (svn_client__callback_baton_t): Fix documentation.
  (svn_client__get_log_msg): New function declaration.

* subversion/libsvn_client/commit.c
  (svn_client_import2, svn_client_commit_3): Use function
  svn_client__get_log_msg instead of direct call to ctx->log_msg_func. Use
  svn_client_commit_item2_t in place of svn_client_commit_item2_t. Use
  APR_ARRAY_PUSH/APR_ARRAY_IDX macros.
  (have_processed_parent, adjust_rel_targets): Use svn_client_commit_item2_t
  in place of svn_client_commit_item2_t. Use
  APR_ARRAY_PUSH/APR_ARRAY_IDX macros.
  
* subversion/libsvn_client/commit_util.c
  (svn_client__get_log_msg): Utility function for backward compability
  with 1.2 API.
  (add_committable): Add new parameter copyfrom_rev. Use APR_ARRAY_PUSH macro.
  (look_up_committable,
  svn_client__sort_commit_item_urls,
  svn_client__condense_commit_items,
  file_mod_t, svn_client__do_commit): Use svn_client_commit_item2_t in place
  of svn_client_commit_item_t. Use APR_ARRAY_PUSH/APR_ARRAY_IDX macros.
  (harvest_committables): Pass copyfrom_rev parameter to add_committable
  function.
  (do_item_commit): Validate item->copyfrom_rev instead of item->revision.
  Pass item->copyfrom_rev to editor->add_file and editor->add_directory when
  copyfrom_url != NULL.
  
* subversion/libsvn_client/copy.c
  (wc_to_repos_copy, repos_to_repos_copy): Use svn_client_commit_item2_t in
  place of svn_client_commit_item_t. Use function svn_client__get_log_msg
  instead of direct call to ctx->log_msg_func. Use APR_ARRAY_PUSH macro.

* subversion/libsvn_client/delete.c
  (delete_urls): Use svn_client_commit_item2_t in place of
  svn_client_commit_item_t. Use function
  svn_client__get_log_msg instead of direct call to ctx->log_msg_func.

* subversion/libsvn_client/ra.c
  (get_wc_prop, push_wc_prop): Use svn_client_commit_item2_t in place of
  svn_client_commit_item_t. Use APR_ARRAY_IDX macro
]]

-- 
Ivan Zhakov

Re: [PATCH] Revv svn_client_commit_item_t structure V2

Posted by Ivan Zhakov <ch...@gmail.com>.
On 8/25/05, Erik Huelsmann <eh...@gmail.com> wrote:
> On 8/25/05, Erik Huelsmann <eh...@gmail.com> wrote:
> > Hi Ivan,
> >
> > I committed this patch (with a slightly tweaked log and trailing
> > spaces) in r15897.
> 
> I tweaked the log to be a bit more readable:
> - I moved the main change (adding svn_client_commit_item2_t) up
>   to the top of the file list
> - I tried to reduce the size and number of individual remarks by
>   * moving the APR_ARRAY_* macros to a remark at the top
>   * condensing all files which have 1 - the same - remark into 1 item
>   * shortening descriptions of the remaining items by not saying what was
>     there, but only what you changed it to.
> 
> Karl Fogel followed up my commit of your patch with a commit to end
> commit_util.c with a newline. His compiler (probably gcc) emits a
> warning when sources don't end with a newline character.
Yes, I saw these fixes. Thanks!
 
> I hope I clarified myself.  If you have any questions, please don't
> hesitate to ask!
> Thanks for the patch and thanks for your time.
> PS: yes, I know there's another patch waiting for review. Maybe
> tonight, tomorrow otherwise: I won't be able to review earlier.
Thank you. I have a request: please merge changes from trunk to
branches/wc-replacements. I have checked it merges without conflicts.

-- 
Ivan Zhakov

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


Re: [PATCH] Revv svn_client_commit_item_t structure V2

Posted by Erik Huelsmann <eh...@gmail.com>.
On 8/25/05, Erik Huelsmann <eh...@gmail.com> wrote:
> Hi Ivan,
> 
> I committed this patch (with a slightly tweaked log and trailing
> spaces) in r15897.

I tweaked the log to be a bit more readable:
- I moved the main change (adding svn_client_commit_item2_t) up 
  to the top of the file list
- I tried to reduce the size and number of individual remarks by
  * moving the APR_ARRAY_* macros to a remark at the top
  * condensing all files which have 1 - the same - remark into 1 item
  * shortening descriptions of the remaining items by not saying what was
    there, but only what you changed it to.

Karl Fogel followed up my commit of your patch with a commit to end
commit_util.c with a newline. His compiler (probably gcc) emits a
warning when sources don't end with a newline character.
 
I hope I clarified myself.  If you have any questions, please don't
hesitate to ask!

Thanks for the patch and thanks for your time.

bye,

Erik.

PS: yes, I know there's another patch waiting for review. Maybe
tonight, tomorrow otherwise: I won't be able to review earlier.

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


Re: [PATCH] Revv svn_client_commit_item_t structure V2

Posted by Erik Huelsmann <eh...@gmail.com>.
Hi Ivan,

I committed this patch (with a slightly tweaked log and trailing
spaces) in r15897.

I can port the change to the branch either tomorrow late in the night,
or the day after that.

bye,


Erik.

On 8/24/05, Ivan Zhakov <ch...@gmail.com> wrote:
> Hi,
> There is revised version of patch which I recently posted. I have
> fixed log message and long lines. Switched to use
> APR_ARRAY_PUSH/APR_ARRAY_IDX macro. And now compatible structure in
> function svn_client__get_log_msg allocated in subpool.
> 
> [[
> Isolate svn_client_commit_item_t.revision and add
> svn_client_commit_item_t.copyfrom_rev. It's required for "replace from
> copy operations".
> 
> * subversion/clients/cmdline/cl.h
>   (svn_cl__get_log_message): Fix documentation.
> 
> * subversion/clients/cmdline/commit-cmd.c
> * subversion/clients/cmdline/copy-cmd.c
> * subversion/clients/cmdline/delete-cmd.c
> * subversion/clients/cmdline/import-cmd.c
> * subversion/clients/cmdline/main.c
> * subversion/clients/cmdline/mkdir-cmd.c
> * subversion/clients/cmdline/move-cmd.c
>   (svn_cl__commit,svn_cl__copy, svn_cl__delete,
>   svn_cl__import, main, svn_cl__mkdir, svn_cl_move): Use
>   ctx->log_msg_func2/ctx->log_msg_baton2 instead of
>   ctx->log_msg_func/ctx->log_msg_baton.
> 
> * subversion/clients/cmdline/util.c
>   (svn_cl__get_log_message): Turn function into svn_client_get_commit_log2_t
>   type. Use APR_ARRAY_IDX macro.
> 
> * subversion/include/svn_client.h:
>   (svn_client_commit_item2_t): New structure, copied from
>   svn_client_commit_item2_t with addition field copyfrom_rev.
>   (svn_client_commit_item_t): Deprecate.
>   (svn_client_get_commit_log2_t): Revv API, new callback accepts array of
>   svn_client_get_commit_log2_t.
>   (svn_client_get_commit_log_t): Deprecate.
>   (svn_client_ctx_t): Add new log_msg_func2/log_msg_batton2 members for new
>   API. Deprecate log_msg_func/log_msg_batton.
> 
> * subversion/libsvn_client/add.c
>   (mkdir_urls): Use function svn_client__get_log_msg() instead of direct call
>   to ctx->log_msg_func.
> 
> * subversion/libsvn_client/client.h
>   (svn_client__callback_baton_t): Fix documentation.
>   (svn_client__get_log_msg): New function declaration.
> 
> * subversion/libsvn_client/commit.c
>   (svn_client_import2, svn_client_commit_3): Use function
>   svn_client__get_log_msg instead of direct call to ctx->log_msg_func. Use
>   svn_client_commit_item2_t in place of svn_client_commit_item2_t. Use
>   APR_ARRAY_PUSH/APR_ARRAY_IDX macros.
>   (have_processed_parent, adjust_rel_targets): Use svn_client_commit_item2_t
>   in place of svn_client_commit_item2_t. Use
>   APR_ARRAY_PUSH/APR_ARRAY_IDX macros.
> 
> * subversion/libsvn_client/commit_util.c
>   (svn_client__get_log_msg): Utility function for backward compability
>   with 1.2 API.
>   (add_committable): Add new parameter copyfrom_rev. Use APR_ARRAY_PUSH macro.
>   (look_up_committable,
>   svn_client__sort_commit_item_urls,
>   svn_client__condense_commit_items,
>   file_mod_t, svn_client__do_commit): Use svn_client_commit_item2_t in place
>   of svn_client_commit_item_t. Use APR_ARRAY_PUSH/APR_ARRAY_IDX macros.
>   (harvest_committables): Pass copyfrom_rev parameter to add_committable
>   function.
>   (do_item_commit): Validate item->copyfrom_rev instead of item->revision.
>   Pass item->copyfrom_rev to editor->add_file and editor->add_directory when
>   copyfrom_url != NULL.
> 
> * subversion/libsvn_client/copy.c
>   (wc_to_repos_copy, repos_to_repos_copy): Use svn_client_commit_item2_t in
>   place of svn_client_commit_item_t. Use function svn_client__get_log_msg
>   instead of direct call to ctx->log_msg_func. Use APR_ARRAY_PUSH macro.
> 
> * subversion/libsvn_client/delete.c
>   (delete_urls): Use svn_client_commit_item2_t in place of
>   svn_client_commit_item_t. Use function
>   svn_client__get_log_msg instead of direct call to ctx->log_msg_func.
> 
> * subversion/libsvn_client/ra.c
>   (get_wc_prop, push_wc_prop): Use svn_client_commit_item2_t in place of
>   svn_client_commit_item_t. Use APR_ARRAY_IDX macro
> ]]
> 
> --
> Ivan Zhakov
> 
> 
>

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