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

Improving svn commit progress notification

From: Ivan Zhakov <ivan_at_visualsvn.com>
Date: Tue, 17 Jun 2014 18:40:43 +0400

Hi,

I'm looking to improving svn commit progress notification. I want to
add notification between "Transmitting deltas" and final "Committed
revision X". The final stage may take significant amount of time,
especially if we implement automatic packing someday. It's better to
explicitly tell user that we finalizing commit and do not stuck on
"transmitting deltas".

Anyone have any ideas on the UI in svn command line. I've prepared
several versions:1.

[[[
$ svn ci wc -m "log msg"
Sending wc\foo
Transmitting file data .
Finalizing commit ...
Committed revision 5.
]]]

[[[
$ svn ci wc -m "log msg"
Sending wc\foo
Transmitting file data .
Finalizing commit: Committed revision 5.
]]]

[[[
$ svn ci wc -m "log msg"
Sending wc\foo
Transmitting file data .
Committing: Committed revision 5.
]]]

[[[
$ svn ci wc -m "log msg"
Sending wc\foo
Transmitting file data .
Finalizing: Committed revision 5.
]]]

Any other ideas?

The code changes are pretty simple. Working in progress patch attached
if anyone want to play with it.

[[[
Add new libsvn_client notification between transmitting deltas and
finalizing commit. The final stage of commit may consume significant
amount of time, especially if we have automatic packing someday.

* subversion/include/svn_wc.h
  (svn_wc_notify_action_t): Add svn_wc_notify_commit_finalizing.

* subversion/libsvn_client/add.c
* subversion/libsvn_client/commit_util.c
* subversion/libsvn_client/copy.c
* subversion/libsvn_client/delete.c
* subversion/libsvn_client/mtcc.c
* subversion/libsvn_client/prop_commands.c
  (mkdir_urls, svn_client__do_commit, repos_to_repos_copy,
   single_repos_delete, svn_client_mtcc_commit, propset_on_url): Send
   svn_wc_notify_commit_finalizing notification before closing edit.
* subversion/libsvn_client/import.c
  (import): Add URL argument and send svn_wc_notify_commit_finalizing
   notification before closing edit.
  (svn_client_import5): Update caller.

* subversion/svn/notify.c
  (notify): Handle svn_wc_notify_commit_finalizing notification.
* subversion/svn/util.c
  (svn_cl__print_commit_info): Do not print leading new line, to have
   pre-commit and commit message on the same line.
* subversion/tests/cmdline/svntest/wc.py
  (State.from_commit): Ignore 'Finalizing commit' output.
]]]

-- 
Ivan Zhakov
CTO | VisualSVN | http://www.visualsvn.com

Received on 2014-06-18 01:41:33 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.